When sending broadcasts using golang you send them only on the first interface matching your IP.
Example setup: a laptop with internet connection over ethernet cable and wifi for sending broadcasts to your devices in LAN. Go defined broadcast IP as 255.255.255.255 which would be sent to the first network (likely ethernet cable).
A workaround is to ignore go net.IP4bcast and use broadcast to the one that matches your card - it seems to work (assuming that your interface have different configuration). With DHCP you can never tell what configuration would be received.