If you're talking Zigbee, this should probably be in the Zigee forum.
The answer to your question is "that's how IEEE 802.15.4 works", which is how ZB moves packets. Nodes sending data seek & detect collision (talking over others) and back off. The Coordinator will use various CRC and other checks to discard/ignore mixed up trash messages. Part of the 802.15.4 header includes the SOURCE MAC for the message. You will need to use API mode, NOT transparent mode, as in transparent mode, you cannot 'read' the source of data.
The key to getting 100 nodes to work, is make sure your bandwidth is LOW ENOUGH to make it work. Think about it - an end device wakes up & wants to talk to its parent/router, the radio frequency MUST BE IDLE. So the parent/router can't be sending to the coordinator, nor can any other router be talking or forwarding packets.
So if your nodes talk once every 5 or 10 minutes, then 100 nodes will work. If you want every node to talk once a second, 100 nodes will not work.