If is hurting others, and you have the proof, then if you don't come forward you are actually a part of it.
I've had to be a whistleblower twice in my life, once against a child advocate group in Los Angeles courts and the fallout was heavy on me and my family. But to stay silent was not an option. Families and children were being harmed. I would do it again, even knowing what I would go through.
Had I remained silent, I would have been part of that immoral and illegal activity. Having proof and knowing = great responsibility. Because they are doing it over and over again, and you have given them time and nothing has changed, there is no other course of action other than to bring it forward and stop the harm.
Also, once you bring it forward and you no longer have that burden on you, you'll be amazed how free you feel. You were carrying their guilt all that time, and it is not your's to begin with.
Tough love is sometimes the best way - get it done, you'll both be better