First of all, it’s not correct grammar. It should be “Punish him who has committed the crime.” We say “him,” not “he,” since it is the direct object of the verb punish. It is correct to use “who” (not “whom”), since “who” is the subject of the verb “commit.”
It’s not how we usually speak. In fact, it sounds like someone is trying to use King James Bible language, and is getting it wrong. Usually, we’d say “Punish the one (or “the person”) who committed the crime.”