Maintaining a bus and subway system is extremely expensive in terms of resources, both in terms of equipment expenses, salaries (for employees who could be providing other benefits to society instead of operating a bus) fuel, and use of land.
There is no 100% certainty that buses/subways are more efficient than cars. Luckily however, we have a way to tell which is more efficient: The free market! The free market is not perfect, but it is likely that a person who pays a fare to ride a bus is getting significant value from that bus ride, and if the fare CAN COVER THE EXPENSES of running the buses, then we can be confident that buses are an efficient mode of transportation.
If you just make the buses free, people may take more roundabout trips to get to where they need to go, just to be able to make use of the free bus, causing inefficiency and waste. Or, it may cause people to take more inefficient taxi trips (because the bus doesn't take them to their precise destination like a personal car would) or they may do a million other things that are damaging to the environment and wasteful (like eating out more because they can take free bus trips to restaurants.) These scenarios may sound silly, but the fact is that removing price signals from public transportation is a terrible idea because it can have a multitude of unexpected consequences.
If you read this post and think I'm crazy and say to yourself "What an idiot, cars are obviously guaranteed to be less efficient than buses" I would argue you don't understand how incentives behave in a complex system.
If you think cars are so horrible, you should work to stop subsidies to oil companies so that gas prices reflect the true cost of energy. But in my view there is absolutely no way making public buses free is going to make cities more efficient and/or help the environment.
EDIT: Just to be clear, I'm not saying we should get rid of all public transport subsidies (this is a harder argument to make, I'm not sure where I stand on it.) I'm just saying we shouldn't make them 100% free because price signals are valuable.