Update (prepare for a mess):I can't believe I didn't notice that yesterday, I was probably too excited to see that NPC is actually following me and staying with me after restart. Anyway, they do seem to follow, but sometimes they just stop following for no apparent reason and what's even weirder is that they don't fight back now or rarely. So far I tried NPCNurse, NPCBaker and NPCAmmo and only NPCAmmo attacked a zombie with his weapon after that zombie attacked me, but he also just stood there ignoring that zombie for the most part. NPCs now don't seem to proactively look for targets to kill in their vicinity either.
As for the health issue, I'm still investigating. Perhaps the most interesting observation here is that when I tried a new world, the NPCs I met already had full 800 points of health. In that previous gameplay, those NPCs there, one of which I hired all had no more than 200 points of health out of 800, not sure why is that.
Anyway, in my latest test world, the health was acting a slightly different than before. I hired NPCNurse and she was actually healing over time which was interesting because I didn't see that with NPCBaker in my previous test world after hiring him, but as soon as I gave NPCNurse water and corn bread into her inventory, her health started going down and never up. After spawning a zombie next to her, she got attacked and didn't fight back and eventually that zombie killed her.
In other news, I also found out that Patch_Entity that was put in place as dependency to fix NRE I received when BanditArcher was killed by a snow zombie, also affects the player's own health - when you're hit and the heart icon shows up, it has no actual effect on your health and you never really bleed out. When I disabled Patch_Entity, bleeding on the player's character worked correctly. Not sure if this dependency has anything to do with the issues above, I will do some more tests.