Mostly because Malphite gets free permanent tankiness from W's passive armor boost, allowing him to now be exceptional against AD teams and still have room for a fair amount of MR too. Even just having a frozen heart and Sunfire cape plus base armor gives him 71 free bonus armor at all times with max rank W, which is altogether over 300 armor without runes and only 2 armor items. That is ABSURD.
That leaves him room for merc treads, Locket/SV, Warmog's, and another item of your choice. You could even throw in a Thornmail and have 440+ armor, which with adaptive armor gives you another free 4% of 350 armor as MR, or 14 MR, leaving him with easily 170 MR if you have scaling glyphs.
Malachite used to be able to get super tanky for short periods of time, now he's just super tanky all the time. If you aren't facing a lot of AD, you can pick up an Abyssal scepter and help your team deal a ton of damage, boost your own damage, and have over 200 MR while still having at least 300 armor in your build.
Zac may have more built in damage, but Malphite is now a super tank who will not die unless focused hard, and he shuts down carries more directly than Zac. Both have good sustain, both of their sustain kind of goes to crap in a team fight (malphites shield goes on CD, Zac usually can't pick up blobs easily if at all), and both have impressive hard engage (although Malphites is less telegraphed and much harder to avoid, while being a little shorter in duration).