Why do we have these double standards on such regular bases. Probably because Afghanistan is not part of the United States of America. Heck it's not even in America. I don't see why just because we have Freedom of Religion, you should assume everyone else does.
It's as simple as that.
Since we live in the United States,
Since, Afghanistan is not United States, where the US Consitution is not valid, then you have to essentially bend down to the country's rules.
Or to put it in another way. Why are you allowed to freely use marijuana in Amsterdam. But are condemened for doing so here in the states? Yep, because Netherland is not United States, and vice versa.