I assume it may be more expensive for a hotel to fully service a room after a one night stay than at the end of a multi night stay, therefore this promo is potentially more costly for the hotels. Plus 2,500 points per night instead of per stay would be costing Marriott more too.
For convenience I would have also preferred to stay longer in one higher quality hotel then have single nights in various lower tier brands which cost cheaper.