Well, but before or later you will need to learn the FOR syntax yourself.
It is not that you are using "something wrong syntax", you are using a completely random one.
The logic is flawed because of syntax and viceversa.
If you go through the above given link you may notice that you cannot have more than one "set" for the "IN" of a FOR command,
And as always you are trying to make too many things all together, which is fine once you have made sure that the single step is working as expected, but beginning with a too complex layout is and will be unlikely to work and more difficult to troubleshoot.
Start simple, what you want is to have one by one the User names (and you CANNOT use two "sets" inside a FOR):
FOR /F "tokens=2 Delims=§=" %%A IN (' SET %ALL_USERS%') DO (ECHO %%A)
FOR /F "tokens=2 Delims=§" %%A IN ("%ALL_USERS%") DO (ECHO %%A)
These correspond to two of the types of FOR /F command listed in the given page:
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
In the first the "set" is the output of a command (between single quotes) in the second it is a string (between double quotes).
The idea of this thread is not that we write that batch for you, but rather that if and when you find an obstacle, we try and suggest you a way to get past it, but at least you have to try, not that you write random things, (that won't work), state genericlaly that they don't work and then ask how to write them so that they work.,
You write something, you explain WHY you wrote it that way, you describe WHAT result you would have expected, you write WHAT OTHER result you get instead and then we will try and help you.