My family and I have been to this region a couple of times and each time has been absolutely outstanding.
In the past we have used Volterra (my favorite), Orvieto (also a favorite), and San Gimignano as home bases. Each town is small, but not too small. They all are great towns to walk around in the evening and explore and have a wide variety of activities and restaurants. In Volterra, we stayed at a place called Albergo Villa Nencini. The place had a pool, parking, and included breakfast. The B&B was right outside of the city gate, but about a 3 minute walk to the town. Overall, a very relaxing place to stay and my family loved the pool. In Orvieto, we stayed at Villa Mercede. It's a monastery and has parking on site. Very quite and nothing really special, but it's steps away from the main square and very quite a night. We also stayed at Hotel Valentino Centro Storico and they also have parking and are in a great location. In San Gimignano, we stayed in Hotel Bel Soggiorno. They don't have parking but public parking was less than a 5 minute walk away from the front door. The rooms all have breathtaking views and so does the restaurant/breakfast room.
I would stay at any of these places again. The two suggestions in Orvieto are a little more basic, while the other two have more charm.