Who pays the fees to publish a paper? Grants and research contracts, (generally, the government).
Part of almost every government research grant and contract is that the government has unlimited data rights, including unlimited rights to every publication which comes out of the research.
Academia started these journals. Academics run the journals. Academia (tries to) negotiate away these data rights from the government. Academia itself is a closed model.
You can go to DTIC and read any unclassified military research report for free. Try it! It's fun reading about Russian nuclear reactors from 1969. NRL and Lockheed have to put stuff up there, Harvard doesn't. It used to be we all knew the government owned government funded research.
Academia has an immense lobby, bigger than the defense industry. They've displaced the contractors and government labs in basic research and closed it off from the public. Why is it easier to get a military report on nuclear reactors than to get a report of what a professor did with the tax dollars we sent him?
All we need to do is remind Academia that we own this stuff, not them. The executive branch already has the power to do that.