I would say it's a bug. Something to do with the shaders not being reset when the object is re-spawned possibly. Does it still do it if you lower the entity shaders to lowest? What about setting the pbr flag in the setup file? If it works fine with lowest then it's definitely a shader related issue. If it works when you set pbroveride so DNS textures are used it is probably an issue with PBR.
Re-spawning NPC's has always been a bit hit and miss with behaviour as well. Pretty sure I had this working in a script I wrote a year or two ago, but I remember having some weird issues to fix while working on it; generally a variable that wasn't getting reset properly. I didn't use the zombies though, I was getting the fantasy NPC's re-spawning. The scripts do differ between several NPC sets, but the zombies and fantasy are fairly similar in how they work.
Quote: "The only thing that has worked so far is changing the specular value on the zombies but it then creates another problem which is that the respawned zombies are now walking backwards"
I doubt the specular value is affecting NPC behaviour. It's much more likely a flag/variable is set and it is stuck in a loop of some kind.
SPECS: Ryzen 1700 CPU. Nvidia 970GTX. 16 Gig Memory. Win 10.