Personally, I think this is a flaw in the 5e rules. In fact, the "bonus" action is so confusing that after a year of playing, I've concluded that it's my biggest gripe with 5e.
"Bonus" just sounds like, a free add-on with no strings attached. "One per turn" is a pretty significant string, so that's a failure of natural language. I think they could have done better by replacing the term "bonus action" with "second action," since it's clearer that it won't stack (because then it would be a third action). For example, rogue's Cunning Action could say, "You can take a second action on each of your turns, but at least one of your actions must be Dash, Disengage or Hide." A second-action spell could instead read, "On a turn when you cast this spell, you can take a second action, but you can't use it to cast another spell unless that other spell is a cantrip." This language would also allow second-action effects to substitute for your main action, which is something players expect (and I see no reason why a person shouldn't be allowed to, e.g., cast healing word and initiate barbarian rage in the same turn).
It's also not very intuitive which things are bonus actions and which are regular actions, and the way Extra Attack interacts with TWF is especially confusing. Players don't expect an off-hand attack to trade off with Dash/Disengage/Hide, especially when they see the warrior classes making multiple attacks every round without limit. The fact that TWF is one of the few bonus actions you can take without a special class feature makes it extra confusing; it would be easier to remember the bonus action if it were listed as a rogue feature right next to Cunning Action. (I'm not suggesting they should have buried TWF in a class feature -- that would be bad in other ways -- just saying that it would be less confusing if they did.)
None of this really helps you solve your immediate problem, but maybe it's something you could talk about with the players. Once they understand how the rule works and why it is confusing, they won't feel bad for having messed it up (or messing it up in the future) but they'll be more aware of it. Most people take some small amount of pride in being "smart" and doing things "right" so understanding the rule might prompt them to try to follow it.