50 agents are running on node1, because all of them are enabled to run on this nodetype.
That setting is specific for Advanced agents and make use of hazelcast's cluster distributed lock. Whichever node's agent acquires the lock from hazelcast, runs it and put back the lock in memory after execution so that same advanced agent on other node can acquire lock & run at the later point (Diff could be secs or ms or min).
This setting is applied for each advanced agent which is scheduled to run on multiple nodes, but not for all types of agents running on one node.
Selecting the Run this agent on only one node at a time checkbox ensures that any Advanced agent runs only on one node at a specific point in time. (avoids concurrency)
Eg:- Advanced AgentA configured to run on 12:15 AM. With the above option, the advanced agent will try acquire a distributed lock using hazelcast and let's say it executed on 12:15:02 xxx ms. The same AgentA can still run on other node at 12:15:02 yyy ms or 12:15:03 xxx ms based on the first agent's completion.