When I put a teleport command to make individual mobs move forward on their own using into an execute command, it groups all mobs affected into one area, making the command break.
To recreate:
type "/execute as @e[type=!player,name=!grab] at @e[type=!player,name=!grab] run tp @s ^ 0.5 ^ 0 ^ 0.1 facing @e[name=grab]" into a repeating command block, and set it as always active.
Spawn an armor stand and name it "grab"
Spawn a few mobs around. It's supposed to make them individually teleport forward, but for some reason the mobs group together and then move toward the armor stand
You should use
at @s
instead of duplicating the selector