Each node is connected to some of the other nodes, but every node is not necessarily connected to every other. So it is not unusual for different nodes to have different peer counts.
In a small network the reason for not having full connectivity is usually that nodes are behind firewalls. If two nodes are both behind a firewall with the peer-to-peer port blocked, then it is not possible for either to connect to the other.
In any event, I'm afraid there isn't currently an API command to gather up information about all nodes in the network automatically.