What you are seeing is DHCP behavior by design. DHCP is a broadcast protocol. So, if there are two DHCP servers on the same subnet, they both can and will hand out addresses for that subnet. There really should only be one DHCP server on a network unless there is a backup capable of handing out a different subnet. For our network we have a local DHCP server at each site and then a single secondary remote server at a hub site. The secondary server hands out a different subnet to clients than the local DHCP server. This configuration is different though when VLAN’s are in place. The secondary server hands out the same address ranges as the local server but has to be sure to check if the address exists before assignment. This is a configuration setting in the Windows DHCP server settings. So, if you have two DHCP servers on a network, each handing out different IP address ranges, you will get unexpected results unless you are using VLANs and setup DHCP relay (or helpers) to the appropriate DHCP server for that VLAN.
See this similar question.