Merchants have expenses, including Taxes, that can only be paid in fiat, so while I agree that would be the best option, it's not currently a viable option for everyone.
I’m not saying that the payments should be in bitcoin only. Merchant can manage how much % he will be accepting in bitcoin payments as well. Also we don’t have that much adoption yet to worry about tax implications because most likely merchant will just stack sats in this way and HODL