Greetings Alex!
Thanks for coming to Q&A with your question. I'm the Local SEO Associate here in the forum and will do my best to give an honest, helpful answer.
My first impression on hitting your website is that it needs big help, both from a Local SEO standpoint and a human usability standpoint. Most critically, I have no idea when I land on your homepage where you are located or where you serve. 'Wine Country' is too generic a term to help me instantly 'get' your geography. I live in N. California and to me, the phrase 'wine country' means the Napa/Sonoma region - not Atascadero. I realize that this is your business name, and that's fine, but your header, which occupies nearly half of the screen space above the fold of your page should absolutely include your complete address and local area code phone number. This will be the very first signal to visitors that you are local, and you've got to make it super obvious.
You are on the right track creating landing pages for each of the cities in which you serve. This is a standard best practice for on-page Local SEO. I am seeing two areas of improvement you can work towards. Firstly, the decision to bury the links for these important pages down near the footer of the website is not ideal. You should be putting your location and service areas front and center on the website. Put a tab in your top nav for 'where we serve' or something like that and put the links there.
Secondly, as other members have noted, the content on these pages is thin and I also find it to be awkwardly optimized. Yes, it's good to have your keyword phrases in the content, but when you have only a couple of paragraphs on each page and they are so obviously using italics to highlight the phrases, the end user experience is not satisfying. I am not convinced, as the visitor, that real effort was put into showcasing your work in your 4 distinct service cities. I am left feeling that these pages were put together solely for the sake of SEO - not for my benefit as the visitor. I recommend looking at the pages again and asking yourself honestly whether they are displaying real care for the education and engagement of human readers.
Don't get too focused on the percentage of difference between each page. I have a copywriting client who runs a carpet cleaning company and the ONLY thing that is duplicated from page to page on his city landing pages is his linked list of services. Everything else is unique and different. Different text, different photos, different stories to share. This is what you should be shooting for - telling a story that is persuasive.
In addition to things I've briefly mentioned here, your website lacks overall Local optimization. Your contact page has not been optimized - don't let this page be nothing more than a form. Your complete NAP (name address phone number) preferably coded in hCARD or utilizing schema or what have you, and more unique text about your business will take this page from weak to strong. Don't forget hours of operation, a Google MyMap of your location and other good things like that that can be added.
In addition to putting the complete NAP in the header of your website, I would suggest that you put it across the footer, site-wide, and I recommend hCARD for this as well.
I hope my straight-shooting advice is empowering, Alex. All of these problems are actually major opportunities for you to improve. More care put into the design, layout, optimization and copywriting, coupled with your claiming of your local business profiles across the various indexes, is going to make your business a force to be reckoned with, and that's what I'd love to see happen for you!
Miriam