Hi for the authentication issue with the admin user, can you check the case of the username? It's case-sensitive when you authenticate this way with the Python API. Either way, if that user is not a dispatcher, then they won't be permitted to make modifications using the Workforce module of the Python API.
When you load a project, all of the dispatchers are fetched and then the current users username is compared to the user_id each dispatcher - if there is no match, then you will get the exception that the current user is not a dispatcher. How are you authenticating with the script? By providing username and password or did you modify it to use an OAuth flow.
Which version of Enterprise are you using?
Which version of the Python API are you using?