I think this belongs outside of the void draw() loop as a “global” variable above void setup(). You don’t want to recreate the array of dancers every time, just the first time in the setup(). Once you move it up there, your moveit() functions will modify the global dancers, not just the new set of dancers created every time the draw loop is called.

I edited my last post to include that exact idea, but it still isn’t working as expected.
Edit:
I fixed it by moving the loop that creates the objects into the setup, then just creating a for loop to display and move the objects in draw.