I am going to Italy in May should I book my fast trains now or when I get to the train station?
If saving money is more important to you, you should book now (although it's probably too late for the cheapest fares already).
If keeping flexibility in your schedule is more important to you, you should wait (but you will pay more for the privilege).
Most of the fast trains require reservations and seat assignments. I have already booked my train travel for May and found that certain classes even now are full, so sooner rather than later. Regional trains don't require reservations as they are first come when it comes to seating.
I booked most of our fast trains between primary destinations about 2 -3 weeks before we left US, for a group of 3, mostly so that I had times of arrival to coordinate with lodgings (apartments booked where we were to meet proprietors at certain timeframe), but I'm a planner and like to have all that sort of thing worked out before I depart rather than spending vacation time onsite doing it. I also took photos of e-tickets so those would show up on my phone even if the email wouldn't load, which was good because my phone's 'international' coverage refused to work using cellular data, only when using wifi (but that's another story).