Replying to give a quick update. I was on mygeotab 0.8.5 for the python wrapper and that was causing the issue with authenticating with a session_id and password (it was working with just a password on that version). Once I updated, I was able to authenticate with a password and session_id, but the session_id wasn't working so it was still having to re-authenticate with the password every time the script was run.
Jarod and I had a call and I noticed that the most recent version doesn't have the commit by aaront in the repository that was made on April 10th. That fix addresses the issue with the dbUnavailableException and allows the script to run, but even copying in his changes to my api.py file in my mygeotab package, I still fail the initial request and have to re-authenticate with the password. This results in the authenticate() method being called every time the function is run (which in this case is 3 times a minute). Obviously I don't want to have to do that, and I'd rather re-use the session_id. Jarod is looking into it further but if anyone else has any ideas let me know.