Sometimes a word outlives its usefulness. 'Whom' is nearly such a word. It has lost much of its meaning because it was most people don't understand when to use it. Consequently when in doubt, people use 'who' instead.
Part of this stems from a lack of knowledge by the learned grammarians as to the origins of the word and its correct usage in historical context. Students of German should instantly understand what I am talking about because Old English and German had the exact same structure of pronouns. Modern German has four cases, Nominative (subject), Accusative (direct object), Dative (indirect object), and Genitive (possessive). You may notice that two cases carry the name object and therein lies the problem. 'Whom' is a specifically Dative form of 'who'. That is why when grammarians say that if it is an object use 'whom' and to our ears it usually sounds wrong. Because it is. Most of the objects are Accusative and so use 'who'. Only when used in Dative do you need 'whom' and only then does it seem to fit.
The gist is that something that started back in the Dark Ages during the birth of English, is still causing changes even today. 'Whom' is becoming less and less frequent. Fewer people use it and more and more just stick with 'who' in all instances. This has been a problem for English since the original Accusative form, 'whon', went away. Those of learning have consistently replaced it with 'whom', while the common people have replaced it with 'who'. Trouble is the common people tend to win these sorts of things. This particular issue has just taken a lot longer to work itself out than just about any other linguistic conundrum. Technically we still haven't fully worked it out, but it is pretty obvious that 'whom' is on the way out at last.