When I got to the bit about the second sh*tty boyfriend, I was already starting to think that your Mum has issues. By the third, I was just feeling utter despair for you mate.
Honestly, at this point I'd be dangerously close to looking out for myself above everything else. Let your Mum go and live back with your Nan, go with her for a month or two, then get the hell out of there and find your own place. Rent something, anything, but if you don't you're going to be saddled with her mistakes for your life.
It's going to be hard, and it's going to cause a huge row, but you need to talk to your Mum and point out her mistakes in clear detail or she's going to do this all over again, and you know it. In the same way that parents often have to tell their kids exactly what they're doing wrong (and let's be honest, they're normally right too!), you're going to have to turn the tables and do this to your Mum. No nicey-nicey, just be blunt but factual. If you love her, and I've no doubt you do very much, then you're going to have to intervene for her own good.
I have massive, massive sympathy for you fella, I really do. Always here if you need a chat, and if you want to get away for a few days you're more than welcome to crash at my place.