That script is stable, no bug reports in a while, stem is working fine. :)
Great!
That authentication line and "password" is only in there to make stem happy.
Stem should be perfectly fine without providing a password (that's an optional argument). If your proxy handles the authentication then why have that authenticate() call at all?
I would definitely suggest the progress parsing change, otherwise tor upgrades might accidentally break you. Minor mistake on my part though...
match = re.match('.* PROGRESS=([0-9]+).*', line)
... should be...
match = re.match('.* PROGRESS=([0-9]+).*', bootstrap_status)
Cheers! -Damian