Because there's no obligation for a private employer to enforce federal drug law? Would they suspend players for smoking cigarettes before the age of 18? What about a 20 year old rookie drinking? Suspension?
Employers choose what regulations to enforce on their employees. The justification from Goodell is that marijuana is addictive and unhealthy. Great. Let's get rid of booze and cigarettes and all the crap that gets advertised during NFL games too. Say goodbye to all the addictive and unhealthy pharmaceuticals the league makes millions in advertising from.
And states can block public funding from going to NFL teams if they choose. Sponsors can bail out if they choose. Really easy for the NFL to start picking and choosing which drugs they'll ignore until you start to consider that there may be repercussions. And for what? So 1 or 2 guys out of the entire league don't have to look for other jobs?
Goodell's justification is likely no more thought out than just accepting the federal position on the matter. I'm not sure why punishment for weed has anything to do with either beer or pharmaceuticals. They're both regulated at the federal level and they're both legal. If you're simply going to look for a situation in which they are not legal and using that as the basis for drawing a comparison, I'd say your wasting your time. The NFL assuredly wouldn't support underage drinking and the fact that underage drinking is against the law doesn't mean the NFL has to treat beer as though it's illegal across the board. The NFL also wouldn't support tackling random strangers on the street, but tackling is football.
Try hard enough and you can make any legal activity a crime. That's not a good enough reason to paint the NFL as being hypocritical because you personally don't think weed should be a punishable substance.
As for me, I don't think weed should be illegal but that doesn't change anything. It is illegal and as long as it is I don't expect the NFL to change how they handle players who test positive for it. The only change short of it being decriminalized by the federal government may be that they decide that they are no longer going to test for any recreational usage. Given that a case can be made to classify most of the other illicit drugs as "performance enhancing", it likely wouldn't have much of an effect on the number of substances that they are testing for. They may have to punish all positives from there on out as a PED offense, but who really knows.
Beyond that, I don't expect any change until the law changes. Until then, 1 or 2 players every couple of years will have to deal with it.