According to the most accepted and most robust model for cognitive development, the lowest form of cognitive reasoning is believing something is morally wrong because 'someone said so'.
Everybody knows cannabis is less harmful than alcohol, extreme sports, driving, sugar and many other common activities. Additionally, there is only one reason why cannabis should be illegal, according to critics: that it's harmful. Thus, people who disagree with cannabis are presumably basing their moral compass on cannabis' illegality. This is because harm is clearly not the only factor, so it's due to its illegality.
As cannabis critics justify discrimination on the grounds of potential harm, it's hypocritical by definition to then agree with the rest of the dangerous activities in society.
Hypocrisy is a form of bigotry. Additionally, discrimination on the grounds that 'someone said so' is demonstrating child-level reasoning skills.