Local search is the whole game for a trade business, and service areas are where most sites leave the easiest wins on the table.
List towns individually
In text, in a dedicated section — not as one sentence in the footer. If the client covers a wide area, give the three or four biggest towns their own short page with genuinely different content.
Match the profile to the site
Category, opening hours and service area on the Google Business Profile should match exactly what is on the site. Inconsistency is one of the most common reasons a legitimate local business underperforms.
What not to bother with
Thin duplicate pages with the town name swapped will do nothing, and may do harm.