This is probably overkill for what you want, but check out Boids here,
The basic idea being around Steering behavours. You have a behaviour where the zombies steer toward a common goal. What you also need is a behaviour where the zombies steer to avoid eachother.
One way is to check the position a zombie is about to move into and see if there is already a zombie there, or within some proximity. If there is, either don't move at all, or pick a new position in the same general direction, i.e. if x>y then add/subtract a random value to y and repeat the check.
Pam