Making too many things illegal undermines the law generally.
I agree with this but that wasn't really your original argument. You said "making what people do illegal breeds contempt..." and while this might be true, it is not a valid argument for making what people do legal. Again, people do a lot of shady, immoral, unethical, and inhumane stuff. It is the very reason we have the law.
people don't generally murder, steal etc
The reason for this is precisely because there are strict legal consequences for doing so. Legalize everything and go on the premise that people are generally good and don't need lots of rules... see how that works out. Perhaps read Lord of the Flies.
Finally, and back to the original topic. The question "why" was asked in response to a statement that weed should be legal in all states. This is incorrect and is just as incorrect as it being illegal in all states. Weed is not a federal issue because the Constitution gives the govt no power and no regulatory responsibility in that area. Therefore, the issue is to be left to the states individually, thus each state deciding on its own the legality of weed. I'm neither for or against it. What I am for is adhering to the Constitution and state's rights.
If we want to continue the discussion I suggest we take it to the political forum, however.