"Google isn't paying for the roads or the right to use the public bus stops. It's taxpayer money..."
Google and its employees are taxpayers. Google pays corporate income tax to California. The fuel Google buys to run the buses is taxed by California; fuel taxes typically go (or at least are intended to go) towards funding roads. Google employees pay state income tax, sales tax and SF real estate taxes.
And are you sure private companies don't pay to use the public bus stops? These stops are presumably owned by SF, so if they wanted to charge Google to use them they could easily do so.
I don't know about US, but here in Europe, companies and entrepreneurs pay so called "road tax", a compulsory amount for each vehicle in their fleet. For commercial vehicles and buses, it is a pretty nice sum.
That gives them right to use the roads. In this case, the Google bus is no different than other private bus or shuttle.
Google isn't paying for the roads or the right to use the public bus stops. It's taxpayer money; not every taxpayer (an aging lady, for instance) might want their money to go towards making a Google Bus possible.