Because cannabis can have effects up to a week after if I remember correctly. And it’s not very predictable. Alcohol is cleared out at a predictable rate and has no effect after a few hours, you’ll just be tired.
They do some kind of test that can pick up if you drank in the last couple days.
The way they assign shifts too causes the problems. If a shift pops up, they wanna take it, and that could happen at any time.
In any case I'd wager it's related to the hangover problem. You don't want a tired, distracted (by headaches or whatever), grumpy person moving 12000 tons.