The two statuses people mix up
Crawled, currently not indexed means Google came, read the page, and passed. Discovered, currently not indexed means Google has the address and hasn't fetched the page yet. They look similar in the report and they point at different problems.
The first is a judgment about the page. The second is a judgment about whether the page is worth the trip. Fixing one doesn't fix the other, so it's worth reading which status is on your pages before doing anything.
What Google says, and what it doesn't
Google's guidance for both statuses amounts to no action required, which isn't much help when half your town pages are sitting in one of them. It's the official position, though, and worth knowing before somebody sells you a fix.
The closest Google has come to naming a cause is a Search team member saying index selection is largely about storage space and is tightly tied to the quality of the content. That's the sentence to hold onto, because it points at the page rather than at a setting.
What it usually means on a contractor site
People who do this work every day see the same pattern: crawled and not indexed lands on town pages that are one template with the town name swapped. Google fetched the page, compared it to its twenty near-identical brothers, and kept one.
This isn't Google's stated position, so treat it as what the evidence looks like rather than as a rule. It does match what the status does: the page was read, and reading it was what settled the matter.
The other common shape is a page nothing links to. If the only route to it is the sitemap, Google has no signal that it matters, and it tends to sit in the discovered status instead.
What helps
Make the pages genuinely different from each other. Real jobs done in or near that town, what the ground or the weather does to the work there, what the job runs and why. A person reading two of your town pages side by side should see two documents.
Then link them properly: every town page reachable in a few clicks from the home page, and linked from the towns around it, not just from one long list. And give it time, because Google rechecks pages on its own schedule.