/testfor's SuccessCount is how many entities are found, however
/execute's SuccessCount is how many times the contained command is successfully run.
As your command block contains
/execute, the SuccessCount is tracking how many times the contained command (
/testfor) is being successfully run. As
/testfor is only being run once (I assume there's only one "lobby" stand), it can only ever succeed once.
As a simple workaround without having to go into stats or scoreboards, you could reverse the first command:
execute @a ~ ~ ~ testfor @e[type=armor_stand,name=lobby,r=10]
This means that the
/testfor command will run multiple times and succeed once for every player near the stand.
Though note that this would no longer be capped at 2.
Alternatively, you can use command stats:
/stats entity @e[type=armor_stand,name=lobby] set SuccessCount @e[type=armor_stand,name=lobby,c=1] PlayersFound
Beforehand, you'll need to add a
PlayersFound dummy objective, and also initiate the lobby armor stand's score to something (e.g:
/scoreboard players set @e[type=armor_stand,name=lobby] PlayersFound 0) before stats will work.
Then, after running the first command, you can check if the armor stand found at least 2 players with
With this, you're checking the result of the
/testfor command that the armor stand is running, rather than the
/execute command that the command block is running.