A 'blunt' statement is when someone says things to the point and factual. But wouldn't 'sharp' (or some other word that implies frankness or sharpness) be a better word than 'blunt'? As blunt has the meaning that it is not sharp. When someone says something that is not direct or something soft (and if I am to make phrases or rules in English) then I am more likely to use 'blunt' for such a thing. All I am saying is the real meaning of the word is not appropriate(actually opposing) for the phrase. Being direct is never 'soft' and can hurt and blunt real meaning is more close to 'soft' and cannot hurt you (compared to a sharp object).
Blunt dictionary:
(of a cutting implement) not having a sharp edge or point point. "a "a blunt knife"
(of a person or remark) uncompromisingly forthright. "a blunt statement of fact"(of a person or remark) uncompromisingly forthright. "a blunt statement of fact"
Etymology here points to some interesting meanings and usages but none quite explain the usage in phrases .
Edit: what I am trying to say explained better in comments by other users
"why blunt means what it does, when it doesn't sound like a piercing effect"
The most common, physical meaning of 'blunt' is 'dull', 'rounded', or lacking edges - the antonym of this context is, as you say, 'sharp'. But when 'blunt' is used more metaphorically to mean 'direct' or 'unnuanced', the antonyms are very different.
Also "Blunt knife hurts more" is creepy thinking and language usages do not take shape on those lines. It is usually simple popular opinions that turn to usages/phrases.