In formal writing or speech, "Whom did he blame" is correct and "Who did he blame" is incorrect.
In ordinary, informal speech, "Who did he blame" is much more common and nobody will think any less of you if you say it.
The who/whom distinction is one that most native English speakers don't really understand or care about. The general rule when you are trying to figure out which one is correct: replace it with he/they (who) or him/them (whom) and see which one sounds right. You may need to change the order of the words.
Here: Did he blame him for it? Is correct, so you use "whom," which is always an object (like him and them)
Did he blame he for it? should automatically sound wrong to you, and that lets you know that "they" is incorrect.