First off, just because a tax payer paid for research does not mean publishing should be free. That's like saying just because the government pays workers to use pencils, that pencils used by government workers should be free. The company is still doing work, whether it's for a taxpayer or not. It still needs compensation for the cost of doing business.
Secondly, commercial publishers perform a vital role, which is why they still exist. If they didn't serve a necessary role people would have stopped using them. This is obvious, because nobody is holding a gun to anyone's head saying you have to publish your research in X place. But nobody wants to think of why these commercial journals are necessary, because it might be the fault of single other than the publishers, so people intentionally stop thinking to avoid the realization.
The only name of a publisher that anyone here knows is Elsevier, which further demonstrates ignorance. They're not the biggest publisher, they're not the most expensive publisher, and they aren't the only organization that pursues legal challenges when their content is pirated. But since it's the only name anyone on here has ever heard, they treat them like The Great Satan. That image further polarizes and enforces ignorance of publishing.
Payment models vary widely depending on the circumstances and organizations (or individuals). Mostly publishers are trying to find sustainable models to pay for the jobs they perform, which includes hosting, indexing, referencing, editing, proofing, and facilitating peer review, as well as publishing the journals as a whole. If you don't want to pay for any of that, liked over said before, the whole research community would need to do those jobs for free. But even in OSS, companies pay OSS developers to work on code. So somebody has to pay for it. If you're so outraged at the profits of publishers, then get off your ass and build the replacement. But people just like to complain, not fix things.