It probably has to do with high margins on revenue from hotels (rooms, food, etc). AMEX only gets 3% or so of a transaction so its margins are probably not high enough to reward as many miles whereas Starwood probably has a higher margin than that and can afford to. My guess is more points are earned from hotel revenue than the Starwood AMEX but I have no inside knowledge.