I don't see the point in forcing him to stay home from school for a day. I agree that keeping him away from the classroom prevents him from learning (and some kids would say rewards him for his behavior by letting him stay home for a day and sleep in). I also think the mandatory awareness class and the suspension from athletic competition are fine.
I've never understood why people smoke or chew tobacco, but I've always had an even tougher time understanding why supposedly health-conscious athletes do it. Regardless, kids make mistakes. That's part of growing up. I just hope he learns his lesson from it and is a better person for it.