Probably because the US Constitution, and the Freedom of Religion, applies...Well....in the United States. As such, these sort of practices are frowned upon...here....in the United States...where we have Freedom of Religion.
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,
applies. Since they are the citizens of the US, where Freedom of Religion is applies, said US citizens are condemned for their actions.
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.