Still trying despite lack of Trust

My bf of four years cheated on me twice. Once while drunk(although he was texting while not drunk too) and once online(he was telling her he loved her and texting her behind my back as well) we have split up and gotten back together many, many times. I keep giving him chances that he probably doesn't deserve. I feel like I am his mother more than his common law wife. He tells me he loves me and that I am his world. He says he doesn't love those other girls. He is an alcoholic and ends up drinking when he is around his brothers and seems to not be able to last a week without drinking behind my back at work. I talked to our doctor who prescribed Effexor which he has been taking to try and regulate his moods. He has a lightning quick temper and gets frustrated easily. Gives up a lot. I managed to get him to a two day training session to become a flagger. He goes for periods where he is ok and works. Other times, he seems to not want to work and ends up getting fired. His boss needs flaggers and so gives him chances too with increasing amounts of time in between 'firings'. I have a full time job and support us most of the time. When he gets angry, he has called me terrible names; later apologizing, saying he won't do it again. He always does. I try hard to not enable him; I have never tried to cover for him or lie about his drinking to anyone but I guess constantly taking him back is enabling behavior. He now has a job in the next village(7 minutes away) which I am happy about. We are low on gas due to a financial set back and his mother called me at work asking if he can spend the night to save on gas until we get more gas money to drive him back and forth after next payday. I thought he had his phone turned off and was going to check his messages at lunchtime. I asked him to not ask his mother to ask if he can spend the night anymore; that we are adults and our gas is fine for now. He blew up and got mad saying he didn't tell her to do that and he knows better to ask because the answer is always NO! He continued saying she only asked to save us gas and then said fuck you I'm giving you your cell back(I pay the bills and technically own it) and that he was leaving me and staying at his mothers. (He says this a lot when he gets mad) I have told him(previously) many times that it takes a long time to build trust back up once it's broken. He doesn't understand that I have trouble trusting him (the girl he was saying I love you to knows his mothers number and he probably has her number memorized from god knows how long he was texting and calling that girl). Many people who care about me have told me to dump him and I have considered it but end up missing the good stuff and have my own abandonment issues. The only time he seems truly happy is when he smokes pot(daily). God help me if he doesn't have pot for one day! I don't pay for his drugs because they are so expensive but will shoot him five or ten bucks here and there. I feel so stuck. Angry. And frustrated beyond belief.