Florence and Siena are both good bases if you're going to depend on public transport - make sure to read my article on just that here:
From both, you can take bus to San Gimignano - this article has more details on which ones: https://www.discovertuscany.com/san-...gimignano.html
Volterra is a little harder to get to but not impossible - easier from Siena since you can take a bus to Colle Val d'Elsa and then keep going - this old thread has a link to the bus info and schedule: Public Bus Question
From Florence it is easier to visit Pisa and Lucca by train. I'd do both in a day trip.
Montepulciano is harder to reach -- there is a train station nearby but then you need to catch a bus. Or a bus from Siena. A full day trip to make it work.
So maybe it would be easier to divide your time in Tuscany and maybe do 2-3 nights in Florence, then move on to Siena and do another 2 nights there.
Make sure to allot time to exploring Florence and Siena too!
Not sure you will have enough time to fit everything in if the total days is 4!