They don't attack the player directly because they are not moving directly to the player, why not just use the player position ? You forced them to move to a random position around the player.
When I did that the enemies would just all bunch up and form a single file line while moving to the player. It made the gameplay kinda boring but I might just go back to that.