Hi, I'd like to help you with your question.
I am sorry to hear about the trouble with your son. It sounds like you have been there for him and continue to be, which is a lot.
I can understand your need to help your son, and it certainly seems that you have been doing that. However, he has to want the help and also want to improve himself and his situation in order to make this work. Although you have done your part, he is not doing his.
For one, he is in a gang. This is a no win situation for him. He needs to get out of the gang and work on moving away from that life and start a better path for himself. Two, although he does have a job and is starting college, both very good points in his favor, he still needs to develop responsibility and stop acting out at home. Three, he needs to take the lead on his drug use. Realizing he has a problem and take steps to deal with his addiction. It sounds like there has been a few attempts at recovery, but he needs to step up and start taking charge of his own sobriety.
You can talk with him about his options, help him make a choice then let him go. Give him a deadline to move out and stick to it. Offer to help, but don't go overboard and do everything for him. In other words, guide him but let him do the work. He will learn responsibility when he does the work himself. He just needs to find the motivation to do so.
This situation has to be stressful for you. Take some time to care for yourself. Take a day and go out and do something fun. Treat yourself to a massage. Anything you feel would help you get your mind off the situation for a while. It may give you a different perspective on the situation as well.
If you have not done so already, consider getting support through Al Non. You can find them at http://www.al-anon.alateen.org/.
I hope this has helped,