Hey Jack!
Good questions. I want to preface my comment by stating that this is the type of issue that is typically going to require a formal audit from a Local SEO expert to properly diagnose. There are too many factors that contribute to local search rankings for someone to be able to take a look for 2 minutes and say 'voila, here's the problem.' So, I would highly recommend that you consider hiring a local search expert for some consultation to dig down properly, but in the meantime, I can take a glance at this.
What you are describing is not an uncommon issue. If I'm understanding properly, when you are searching from a Philadelphia-based device, you are ranking well in the local pack for your core term 'garage door repair', but when you add the geomodifier, you are no longer ranking well locally. Right so far?
In a city of any good size, it is totally normal for your non-geomodified local searches to bring up different results than your geo-modified ones. What I have personally noticed about this is that the former searches tend to tighten my radius to be nearer to my exact physical location at the time of search, whereas adding a city name appears to alter the radius or industry centroid. So, in other words, if I just search for pizza, Google shows me the pizza places nearest me. If I search for 'Pizza Philadelphia' Google may choose some other centroid than me, and show me pizza places downtown, near the courthouse, near a cluster of other pizza restaurants, etc.
What I look at in cases like yours is the proximity of your company's physical address to the addresses of the competitors who are outranking you in the pack. I see your address is hidden on your Google My Business page, so I'm popping over to your website and see the following address:
13440 Damar Drive Unit F2
Philadelphia, PA 19116
Now, do this comparison:
-
Do your 'garage door repair philadelphia' search in Google and then click into the more results view. Look at where the high ranking businesses are located.
-
Open a second browser window, go to maps.google.com and look up your own address.
I think you will very quickly see that, sure enough, you are located way on the outskirts of the radius Google appears to be pulling results from for that geomodified search.
Again, this is my very quick glance at this, but I would suspect that geography appears to be playing a role (and not one you can influence) in this scenario. Other things to investigate?
-History of Google guideline violations, be they past or current
-Citation consistency and spread (glad you are using Moz Local!). Pay attention to duplicates we report!
-Google-based review count and rating
-Domain authority
-Link quality
So, that's a start, Jack, and I do recommend that you either dig deeper into research on this or consider hiring an expert who can take a more thorough look at numerous factors. Hope this is helpful!
P.S. BTW, in regards to your comments about spammy names, unfortunately, yes - these still often rank dreadfully well in Google. It's a shame. What you want to find out is whether these suspiciously generic names are, in fact, the legitimate business name or DBA of the competitor. If they are not, consider reporting them for a guideline violation. I've seen it work. But, if those are the real names, you are out of luck