Sorry for your frustrations, but the BLE standard is indeed a standard. However, it provides some lower level capabilities that require further work for devices to talk to one another.
To break it down, BLE provides services and characteristics to talk from one device to another. While not a direct analogy, I generally explain these to people as similar to network sockets. The service can define what type to connect to (UDP, TCP, etc.) and the characteristic is the actual port to connect to (80, 22, etc). This is a simplification, just trying to explain.
So, bluz defines some set of services and characteristics to talk to, they are documented in our source code. Our hardware (DK and gateways) is setup to handle to those services and characteristics so we have an ecosystem for bluz. Then we add an application layer on top that uses those for a specific purpose, in this case to talk to the Particle cloud. That application layer is analogous to software on your computer that uses sockets for communication, like Skype or your web browser.
So, what you end up with is different boards that talk through their own unique services and characteristics to their own application layers. I am sure those Cypress boards have an app or something else that understands their services and characteristics and does something with the data.
So, to sum it up, it takes some work to get these different devices from different ecosystems to talk to one another. We would have to understand their services and characteristics and figure out how to talk to them to make it work. It would be loosely similar to figuring out how to make Skype talk to Slack, they are different applications that use different parts of the TCP/IP stack to work.
I hope that helps, just trying to explain the difficulties in making different BLE devices talk to one another.