Telling him not to drink at home is and isn't a boundary. It is too open for interpretation.
Saying "If you come home drunk or stinking of booze, I will call the police and have you removed" is a boundary. It's clear, it's not subject to interpretation.
Your boundaries are too broad in nature. You need to be more detailed. This is just an example and not one that I think you should give. Maybe others can give you examples of a boundary that might work better for your situation.
Your home at Habitat is supporting a drunk .... he got all the benefits.
His problem will escalate over time, don't doubt that for a minute!