The problem is, this often doesn't happen. The employee being paid too little (or working too long, or being otherwise treated poorly) might not know they are being coerced into this bad position, might not know how much their employer is hiding from them, may not want to go through the considerable effort of interviewing for another job, may not have the financial stability to put their family through that period of job hunting, or may just be of a non-contrarian disposition and enjoy having their stability in the current job.
There are a million reasons an employee would not respond to a blatant injustice by precisely identifying it and demanding it be righted or otherwise quitting. If you do do this, I truly think that is fantastic and I commend you. The ones who stay in these jobs, however, are being badly treated, at the employer's benefit. I don't think that's right, and I don't think they can be fully blamed, because a lot of these problems come from how adept the employer is at manipulating the situation. If you say “no, we don't want to fix that”, I'm sorry to say I can't agree with you.
We're not talking about coercion. Concealing the wages of other people in the organization is not coercion.
> You might think, “well, the employees should just get a different job then!”. But don't we want to fix the underlying problem instead of just churning our way through countless jobs?
No, we don't. The way we fix the problem is by choosing with whom we do business. "countless jobs" is a straw man.