I really really feel for you and unfortunately I am like you, too nice and I tend to tiptoe round people and put them first and end up sacrificing my happiness for satisfying other people. If I were in your situation I would be so torn as well - but I can try and offer advice as much as I think I'd be too scared to take it myself - I would give her an ultimatum. Either she cleans up, if she won't do it for herself she should for her grandchild, or she doesn't see you or bubs when he or she arrives. Because simply letting her would put your child at risk and you don't want them exposed to that kind of destructive lifestyle. I've had to do this with my daughter's biological father - he hid his being sacked from his job and his drug use (I was working 60 hrs per week so I had no idea what he was doing instead of working). I found out when I was 14 weeks that we were being evicted as I'd been paying my 50% of the rent and he had not. I found out about his drug smoking and I gave him the same ultimatum. I said if he brings me a GP (he tried to fob with off with an internet one) passed drug test I'd let him have as much access as he liked. I told him from 14 weeks when I found out. I moved away from him and his hometown at 24 weeks when I couldn't handle it anymore. He did a failed test when Ella was about 6 weeks old. I let him come to visit her for a day when she was 10 weeks, clean and sober, with my constant supervision. Reason being I hoped actually holding her and cuddling her, seeing her smile, might encourage him to man up, give him an incentive. But sadly it did not. So he does not see her and rarely asks about her, and still smoked drugs and it's a constant battle to get money from him. But it is for the best for my daughter - he is putting substance first and that's wrong. She doesn't need him.
I know your situation is different because it is your mum and it was easier for me to stop Ella's father seeing her, and this will be so hard for you. I dunno, just thought I'd share and see if I could help at all.
Again, I'm so sorry about your mother's behaviour xxx