I have a site with a similar issue, but in my case it's because I didn't build it around a Google vertical: I built it around the related-yet-varied interests of a target demographic, in traditional marketing style. Google doesn't always know what to do with that, and seems to latch onto one particular aspect of your site without really "understanding" the whole. It's kind of like you're running a site about DIY car repairs, and thinking Google should send you traffic for "DIY auto repair" and related terms, but all you get is "DIY air filter change".
Not exactly what you're talking about, but maybe another example of how the algorithm doesn't always "understand" every site the way humans would.
I literally and truly built that site for humans, knowing it didn't fit any particular keyphrase or vertical. I relied mainly on social media for traffic, not Google. I believe the problem is that the algo simply does still need some guidance from "optimization", despite Google's hate for optimization. It's not really calibrated for sites that aren't calibrated for Google.