So I'm no expert, but I've spent a lot of energy and money with several revisions related to local SEO. Here it is for what it's worth and you'll have to judge for yourself.
The more cities and town names you add to any one page the more you will dilute the organic value in the one town or city that is most important to you. You may want to include the names of a few towns within a city if they are a logical and natural language why in which people speak about a given place. For example, if you were writing a page about New York, you could logically include info on Brooklyn, Queens, The Bronx, Manhattan and (you might want to not bother with Staten Island), but you certainly would not want to mention services in Nassau and Suffolk which are well outside the city boundaries. But that wouldn't negate the thought of a separate page for each borough.
So how do you deal with services across a large geographical area without massive duplication? There are more and more problems arising with SEO placement with duplicate and "near duplicate" content. On my core website I have tried to use templates with some success, where I generate pages for different cities and towns using some common content, but leaving room for custom content on each page - more than just a city name variable. (Be sure that the meta data is also very unique). For my business, which is pest control, weather has a big impact on pest pressure. So I have a template for coastal, inland, mountain and valley towns - plus a few more. Then I also leave room for additional custom content for each city/town page - to eliminate near duplicate content and to address real differences between towns. Each town has it's own demographics and culture - so I address that as it relates to the products and services I offer.
Still, the best bet is to create totally unique pages for each targeted geographic area. That takes time. I am gradually addressing this, but wow, serving all of Southern California means creating a lot of unique local pages. I your business too, I am sure that in different cities and towns you will find that customers have different preferences and budgets. You can address that with unique pages for each geo.
I came across a company that for a while has had very good SEO placement, but with a tactic that I think will get detected. This company has massively duplicate content, but it is not on the same website. They have purchased separate domain names for every town and populated the identical content across these websites. I am sure Google will start smacking this website soon enough.
I hope this helps.
Gerry