I mean, a reasonable non-disparagement clause for your current employees makes sense. You don't want your employees actively undermining the company in public. If they don't believe in what you're doing, they should be able to quit and say whatever they want. It should end immediately when your employment ends. It should be illegal to make it compulsary for severance packages, as many companies do.
And there need to be serious regulations about how these agreements can be used, and those regulations should protect whistleblowers at all costs. Like a public figure suing for libel/slander/defamation, the burden of proving statements false should rest entirely with the company.
The clause in question didn't even arise until after employment ended. Again, this person faced no obligation to sign this contract. They wanted the payment, so they signed it.
What's the need for a non-disparagement clause then? If they're a current employee, you have their continued employment as leverage.