Hi Matt,
The boto library should automatically find and use your $HOME/.boto file. One thing to check: make sure the project you're using is set as your default project for legacy access (at the API console, click on "Storage Access" and verify that it says "This is your default project for legacy access"). When I have that set incorrectly and I follow the create bucket example you referenced, I also get a 403 error.
If that doesn't help, try adding "debug=2" when you instantiate the storage_uri object, like this:
uri = boto.storage_uri(name, GOOGLE_STORAGE, debug=2)
That will generate some additional debugging information on stdout, which you can then compare with the debug output from an analogous, working gsutil example (via gsutil -D mb <bucket-name>). If that doesn't lead to any further insights, feel free to share any relevant traces with this group but be careful to remove any sensitive info (e.g. authentication tokens, etc.) from any traces you share publicly.
Hope that helps,
Marc
Google Cloud Storage Team
In Python, I checked boto.config.items('Credentials') this has an 'gs_oauth2_refresh_token' in it/.