Technically, it is not "free two-day shipping" at Amazon. First, you pay $100/yr to get it for
most items if you are a Prime member. Otherwise, like many online retailers, you get free shipping (not sure if it's two-day) only if you reach a certain dollar threshold.
So, yes, "it costs too much" is the obvious answer, but it is true. Unless the recipient is in the same "zone" as the shipper, the cost of next-day air shipping is likely still anywhere between $20 and $50 (dependent on many factors), which is heavily discounted from retail rates. That would cut into margins quite a bit.