The broadcast block should be working fine. You can try this simple test:
play.creaticode.com/projects/68b650671f1f6c01bf5cf461?version=1
When the green flag is clicked, it will broadcast the message. And when it is received, the variable will increase by 1. If there is an issue like what you described, you should see the variable increase by more than 1 each time, right?
broadcast.gif
To find out the real issue, I suggest you simplify your program to bear minimum, and also try to debug it using the “print” block in the “control” group.