Managers report to the executives / upper management, and have all the relationships, political capital, and power.
Is it fair? That's a separate question, but not a question the company cares about. Remember a company isn't a democracy, it's a dictatorship/oligarchy, probably led by someone non-technical who's goal is to maximize business profits, not please engineers.
As an engineer I wish it was different.
Landing on a role with bigger responsability must be properly compensated or you won't be able to fill the position.
Managers want it be structured like your explanation, what they actually get is structured by supply and demand. Because they setting below the market rate they then struggle get anyone.
If a company comes along and does not follow hierarchical setting salaries, then they will get all the better programmers.
Overtime if the software is critical to their business, then they will die out.
It just takes time.