The "speak no ill of a previous employer" is not about tribalism or protecting other managers. It's that your prospective employer doesn't care to be disparaged by you when you leave them.
No, it's tribalism. Tribalism mixed with an expectation of authority.
Companies don't make decisions. People do. When someone speaks ill of a previous manager, the reason he is unlikely to get hired is that the person assessing him usually is a manager, and managers don't like people who have the gall to speak out about executive decisions, even when they're objectively bad ones.
Software engineers have a similar tendency, except we don't take it as far. We avoid working at companies that have a reputation for not respecting engineering talent. The difference is that we don't protect the malevolent or incompetent among us. They do too much damage, and we're too rational. No engineer would protect the scumbag consultant who puts a time-bomb in software to hold the client hostage. Yet bad managers are just as destructive, while run-of-the-mill managers routinely defend the actions of the worst managers.