c # – Foreach / list loop problem

I'm having a problem with a foreach loop.
When my AOE ability hits an enemy, create a CircleCollider2D and put all the enemies on a list, which the loop then goes through and adds damage to their scripts.

Vacuum private OnTriggerEnter2D (another Collider2D)
{
if (other.tag == "Enemy")
{
target.Add (others);

Foreach (enemy Collider2D on targets)
{
EnemyHealth hp = enemy.GetComponentInChildren();

hp.TakeDamage (abilityConfig.baseDamage);

print (enemy.name + "takes" + abilityConfig.baseDamage + "damage!");
}
}
}  

But as you can see in the image below, the loop is repeated 3 times on an enemy, 2 times on the second and once on the third.
enter the description of the image here

Since these enemies are of the same type, they all have the same EnemyHealth script.
If someone pointed me in the right direction, I would greatly appreciate it.

Thank you.