As I'm sure you're aware, software development is very different from physical labor. For one, it's a creative endeavor, where different points of view stemming from different backgrounds can only have a positive effect on the end product.
Think of it in terms of code reviews. Does the product benefit more from being reviewed by teammates from the same schools and employment backgrounds, or by ones with different life and professional experiences? I can't point to any studies to prove this, but from personal experience I'd argue it's the latter.
Besides, getting to know people from different backgrounds and cultures can only expand your own view points and make you a better developer and person.
Your point about companies pushing diversity to prevent unions sounds conspiratorial at best. Strong bonds can and do form regardless of culture.