Your problem is probably because the chunk that the armor_stand is in isn't loaded by a player. You could fix that issue by affecting a player instead.
I made this command sequence that does what I think you want:
You would simply power the bottom command block once. The first command:
execute as @r run tag @s add spread
Adds the tag
spread to a random player.
execute as @a[tag=spread] at @s run spreadplayers ~ ~ 1 10000000 true @s
Spreads that player somewhere within 10000000 blocks, using the tag to target the player.
execute as @a[tag=spread] at @s run worldborder center ~ ~
Sets the world border center where that player is.
execute as @a[tag=spread] at @s run worldborder set 100 0
Sets the border size.
You could also add a fifth command with:
execute as @e[tag=spread] run tag @s remove spread
To remove the spread tag, if you'd like to repeat the command then this will make it so no more than one player has the tag because it is removed at the end.
If you'd like to tp all players instead of killing them you could use:
/execute as @a[tag=!spread] run tp @a[tag=spread]
This would need to come before the tag-remove command, otherwise, there would be no one with the tag.