They are permissible in a free market the same way NDAs are: one freely trades an opportunity to exercise a right at some future time for a guarantee of payment today.
This logic only works in a world where all employees have the same leverage as employers, such as with a labor union.
In reality, in the vast majority of cases, the employers have much more leverage, and therefore non-competes aren't used as a negotiating tool for both parties, they're used by employers to stifle competition for labor and therefore stifle salaries.
That's not a condemnation of non-competes per se but rather suspicious, bad-faith timing or even duress. With few exceptions, the FTC intends to rule that non-competes are illegitimate as a class of contract, not merely contend with the manner in which they are dispensed. The latter has often been used as reasoning for the former, but is not the particular target of the intended regulations.