We want to spend two nights in one of these towns. Any suggestions on which is better? Why?
Either would be a good choice.
Montalcino if you love Brunello di Montalcino red wine; non-wine lovers (red wine) sometimes find Montalcino a bit too focused on vino. But if you love Brunello, or think you'd like to fall in love with it, Montalcino is your place.
If the above doesn't apply to you, then Montepulciano, because it offers more than just wine (and a particular type of wine).
John, don't let Brunello's excellent marketing mystique fool you. We loved the "Nobile di Montepulciano" wine every bit as much as nearby Montalcino's Brunello, and Nobile costs a lot less (but it's not cheap either)!
Agreeing with Kent as usual, I'd say that unless you're really focused on Brunello, I'd go to Montepulciano. We liked the town and the location better (but they're both great places to visit).
I've stayed in and enjoyed both towns. Can't say that one is better, just that they're different. Montepulciano is very steep from bottom to top. I tended to spend my time near the top of town where my hotel was located, which made it feel smaller, and there are only a few good restaurants in that area of town. Contucci's Vino Nobile is good and quite reasonably priced - as little as 12 euro a bottle at their cantina. Montalcino is flater (but not flat), so it's easier to explore more of the town. There was a larger selection of restaurants and a hint of night life. Rosso di Montalcino is priced about the same as Vino Nobile, but Brunello starts at around 30 euro in a shop. Montalcino was a good base for exploring with a car. Montepulciano is a bit more convenient when using public transportation. Can't go wrong with either choice, so pick the one that's a better fit for your trip.