there are to many events in your game, can't wrap my head what goes where since there is no comments inside, but the logic should be
if character is hit, subtract N from character.self_HP then set character healthbar to character.self_hp/character.maxhp *N.. as you did.
in order to get the healthbar of that character u have to have a unique identifier can be a instance variable on the character and healthbar having same value, so if u spawn lets say a 10th character u give that variable value 10 and the healthbar instance variable would be 10 also. you can also use the newly created character system UID and save it in the newly created healthbar. but that might cause issues depending on how you use it.
then u pick the healthbar that has instance variable identifier = to character instance variable identifier that gets hit.
Edited: here is an example i made for you explaining the above multiple-enemies-healthbars.c3p