Сработал OnCollisionEnter, нанёс первому персонажу урон. Ушёл от первого персонажа, но у него hitByPlayer == true как был, так и остался. Ты атакуешь второго персонажа. Урон наносится сразу обоим игрокам.
Видимо, надо в
OnCollisionExit вызывать
hitByPlayer = false;