Different expert here. Please permit me to assist. You ask about your being overpaid. An employment contract is based both upon the express agreement of the parties or the union's collective bargaining agreement, and
the actual conduct between the parties.
If you have been overpaid, as you say, "for years," then you are entitled to the wage you are receiving, because you have worked in reliance upon that wage. This is legally termed a contract by "promissory estoppel." That is, once you started receiving pay, the wage received operates as a promise to continue your wage at that rate until you are notified otherwise. When you work for that amount, you accept the offer of pay by your performance and earn the amount paid.
Therefore, you are not responsible for notifying anyone about anything, and you are entitled to the wage you are receiving, until your employer decides to change your pay rate.
If you start rocking the boat, you may indicate by your conduct, knowledge that you have been overpaid for a long period of time, and that could make your reliance on your prior pay unjustified. So, by starting down the road to what you may believe to be a "moral" act, you could be financially "shooting yourself in the foot."
Hope this helps.
NOTICE: My goal here is to educate others about the law. I am always available to answer your follow-up questions after you click Accept – however, if you do not click Accept, the website gets paid, and I receive nothing. This is true, even if you are on a subscription plan. So please click Accept, so that I will be able to continue to provide this service for others in the future.
And, if you need to contact me again, please put my user id on the title line of your question (“To Socrateaser”), and the system will send me an alert. Thanks!