Have you tried to make them follow a point different to the player position?
You could set up a hierarchy of invisible placeholder instances around your player character.
Then at runtime, instead of telling each enemy to go directly to the player position, you can pick one of the placeholder instances at random and tell the enemy to go to that position instead.
Doing that they will all go into the players general direction, but they won't cluster in a single point.