I have several iPhones / iPads, and when I say "Hey Siri what's the weather tomorrow", only my main phone will respond, how is it designed?

When you say "Hey Siri", the devices that could possibly react to it will communicate with each other using Bluetooth to determine which device will respond: The device that heard you best, or the device that was most recently raised or used will respond to the "Hey Siri" request.

Apple has detailed the method here:

https://support.apple.com/en-us/HT208472