Charlie,
Unfortunately, you can't have it both ways. If you want flexibility, then buying tickets a day or so prior to travel is the way to go but you'll likely be paying Base Fare which is the highest price tier. If you want to save money, you can do that with advance purchase tickets, but these don't provide flexibility. Also keep in mind that the cheapest Super Economy tickets are non-refundable and non-changeable once purchased,
Tickets on the high speed trains, which you'll likely be using on the Milano Centrale - Firenze S.M. Novella and return have compulsory seat reservations which are specific to train, date and departure time, so these don't provide any flexibility. If buying cheaper advance purchase tickets on those, you'll need to commit to a specific departure time.
For the trip from Milano Centrale to Malpensa, you'll be using the Malpensa Express which is a Regionale train, and there's no reason to buy those in advance as there are no price breaks. You can buy those a few days prior to travel at a Kiosk or staffed ticket office, and then validate before boarding the train on the day of travel. DON'T forget to validate or you'll risk hefty fines which will be collected on the spot!