I think that Will is evolving through this, and he'll figure it out. As has been pointed out before, and as you've noted here, until he experiences that pain himself, I don't think he'll get it. I think the thing with Zach and John must have been so far out of his memory that it's not resonating. It would not be a bad idea for someone to point that out to him, but I suspect they (Brad, Stef, JP, etc.) know that he'll get the lesson better if he figures it out on his own.
None of that excuses, in my opinion, Marie's actions. I think in that situation, it's less about the basic infidelity issue, and more about family loyalty. Will has been raised in a family where the family is prioritized very highly, and he's internalized that. That means that he expects Marie (and John) to be his allies, period. And if they have issues, they certainly aren't supposed to take them outside the family (which is what she, in effect, did). If Marie really had major ethical issues with what Will was doing, she should have gone to her mother, or barring that, to JP.