Don't be daft, how is it a betrayal of your son if your relatives aren't subjected to his shitty life choices?
How good are you at just telling simple truths without causing a drama or getting involved in a slanging match? Just see your son and his girlfriend and go and see your family separately, it's not for you to fix, and you can't do so.
He's well aware of the drama, he's lost staff, he's not protecting his children from her behaviour, she's dirty and smokes when people are eating and gets falling down drunk even though she's nearly 30. What a catch.
He already knows the trouble his poor choices are causing. You don't have to be the meat in the sandwich.
It sounds like you are willing to tolerate her, which is fair enough as you are his mum and it is different for you. So tolerate her and stay in his life, and let other people make their own choices. You can't fix his poor decisions and you can't force other people to be around someone who makes them miserable.
Nor should you miss out on seeing the rest of your family.
Other people don't need you to make their decisions for them, just say clearly and calmly that you don't want to be involved in any gossip or discussion about her or your son, change the subject and refuse to add to the shitshow whenever it starts up, show up to the events separately and enjoy yourself. Anything else is just inflaming the drama.