getmetatable(PlayerFrameHealthBar).__index is the metatable for ALL StatusBar widgets. You are hooking every frame imaginable "Show" call by doing this. You don't want to do that.
Doing hooksecurefunc(PlayerFrameHealthBar, "Show", ...) should be enough or better yet PlayerFrameHealthBar:HookScript("OnShow", ...) but ideally find out when Blizzard run their code, and run your styling after theirs instead of hooking Show related events.