I think that’s mostly driven by regulatory capture and the fact that lobbyists can drive regulation. If our government actually worked for the people, we could actually enforce monopoly laws, and the SEC (or equivalent in countries besides the US) would actually prevent mergers that threaten competition. The government is supposed to prevent this kind of behavior, but they have basically been bought out.
As for how to stop that from happening, I’m not sure. I think it would require at least getting rid of the two party system, because that stifles competition in the governance space. That means that even though there are probably lots of voters who would vote for a real candidate who would break monopolies, there is no such candidate available. But in order for that to work we would have to switch to a different voting method, like ranked-choice (or one of the even more fair ones).