Anyone should be able to earn as much as possible as long as they are doing their job well and their salary fits the organization’s budget. If you start paying one guy, or large groups of people “too much”, then over time your organization will consume itself and cease to exist.
But the people who set these parameters for executives should carefully consider whether they’re getting the best deal possible. In for-profit situations, the owners are able to decide that. In not-for-profits, its the board, but the board really doesn’t report to anyone.
I agree that overpaying top people at non-profits could affect donations.