It's not gatekeeping. CSS and HTML aren't programming languages, and that's okay. Since no one is going to hire someone who only knows CSS and HTML, it's a moot point anyway.
They aren't a GPL, which is the true distinction. Otherwise, they are a language, and they are used to tell a computer what you want it to do. Seems like programming to me. If you're saying someone isn't a programmer when they only know HTML &/or CSS, it is more accurate to say they are not a GPL programmer.
That said, it's mostly about semantic conventions. And by convention, if you only work with HTML and CSS then calling yourself a programmer would give the wrong impression. "Developer" might be a more accurate designation, really "Front-End Developer". These days such a job with only HTML and CSS would be rare, but there was a time when those two things alone were just fine. Then again standards change: You probably wouldn't call someone an engineer if they only knew how to use tools from 500 years ago. It's just that things move much faster in computer tech.
That said, it's mostly about semantic conventions. And by convention, if you only work with HTML and CSS then calling yourself a programmer would give the wrong impression. "Developer" might be a more accurate designation, really "Front-End Developer". These days such a job with only HTML and CSS would be rare, but there was a time when those two things alone were just fine. Then again standards change: You probably wouldn't call someone an engineer if they only knew how to use tools from 500 years ago. It's just that things move much faster in computer tech.