This is pretty much standard procedure for all hotel chains. One of the main reasons this happens is to stop people from cheating to get around stay controls.
I always use Las Vegas as an example. In Vegas, every hotel can sell out months in advance with 1-night Saturday stays. Therefore, to maximize revenue, they require a multi-night reservation if you want to stay on a Saturday. In olden times, people would make a multi-night reservation and then call to cancel all days except Saturday. This policy blocks that sort of thing from happening today.
Although annoying when they stop you from getting what you need, stay controls do help guests. Consider the possibility that the only reason you were able to book that 8-night stay initially was because the hotel had stay controls in place to stop other people from selling out the hotel with 1-night stays somewhere during your trip. Once a hotel is sold out on a single night, you can't book a multi-night stay that touches that night.
Hopefully, this explanation helps clear up the purpose behind this policy. I know it doesn't help fix your problem, but it might diffuse some of your anger/annoyance with Starwood. This is standard practice everywhere.