Why would they be 10-20K cheaper, especially if that was 1 year of experience 7 vs. 12 times in a row?
I don't think this is an ageism problem at all. (I'm 45 by the way, supposedly squarely in the crosshairs of ageism in our industry.)
Ceteris paribus, I think we can all agree that someone with 2 years of industry experience is more valuable than a fresh college grad. Most would think that 4 years is more valuable than 2. Thus, it's appropriate that people in that stage of their career are getting promotions and raises in excess of inflation/CoLA increments, as this reflects a fair price for their increasing value.
At some point, if that same person stops really learning, growing, and differentiating themselves, their value stops going up (except for modest inflationary raises).
If that 12 year veteran is no better than the 7 year veteran but won't take a job offer at the same wage, then they damn well deserve to not get the job, IMO. That's not ageism; that's simple, proper, natural market forces.
Companies pay programmers to create value, not to be old or young. If I can create the same value as someone older or younger, I should be paid the same as them, regardless of age or years of experience.