I think being pro legalization doesn't win many votes, but being anti legalization could cost votes. It's an easy attack ad to make. One of the worst things about politics seems to be that the substance of the attack doesn't really matter, just the fact that it exists.
With popular votes on the topic, everyone wins: people get what they want, and no legislator needs to grow the courage to stand up for it.