Just get your good friend "Geff Jeerling" to post them instead. ;)
I think it boils down to the sad fact that "writing a blog post with information relevant to a community and sharing that" has become somewhat of a minority case for blogs nowadays. They are generally either "self-promotion for selling things" (blatant or not) which you mentioned, or just straight up blogspam (almost always blatant). And when your job is to moderate a large community, you don't really have time to go in and evaluate whether each and every single post is the latter two or an earnest attempt at getting information across.
> If the community thinks it's spammy, then the community can flag it or downvote it.
In theory, yes. If everyone used the voting and reporting system appropriately, and people whose posts were reported took the judgement tactfully and with grace. But I've seen people constantly argue that "what they said wasn't against the rules" just because it wasn't explicitly listed as a rule.
When a moderator's job is already so loaded, they're going to push for making their lives easier. Blanket banning "self-promotion" means it's a simple decision when it does get reported and makes it harder to argue against a removal.
FWIW, I think the model you mentioned works a lot better here, where there's a bit more of a professional bias, and especially when people have linked their real-world professional identities with their accounts. It adds a level of courtesy and assumption of best intent that isn't as prevalent on Reddit.