You could check it manually. In the code run when the two areas collide, verify if it is the sibling Node.
Edit, if you have a script in Hurt_Box :
onready var own_punch = $"../Punch Hit"
#".." represents the parent Node.
func on_Hurt_Box_area_entered(area):
. if area != own_punch:
#don't punch yourself
. . pass
#all good, you can punch
Alternatively, if enemies can only hurt players, and vice versa, you can use collision masks. punch_player collides with hurt_enemy, and punch_enemy collides with hurt_player.