OnCollisionEnter2D not detecting the right object

I’ve set up my player as followed in the hierarchy

  Player (with Rigidbody2D)
    Child 1 (with BoxCollider2D)
    Child 2 (with BoxCollider2D)
    Child 3 (with BoxCollider2D)
    Child 4 (with BoxCollider2D)

The player is tagged as “player” and the childs are tagged as “player_part”

Now I have a projectile script which shoots cubes (each cube has a Rigidbody2D and a BoxCollider2D) with the following script attached:

void OnCollisionEnter2D(Collision2D coll) 
{
	Debug.Log("tag " +coll.gameObject.tag);
}

Now whenever a cube collides with the player it logs in console:

tag Player
UnityEngine.Debug:Log(Object)

What is going on here?

i want to destroy the child object whenever I collide with it but it thinks it is colliding with the object tagged Player instead, however the player has NO BoxCollider2D or any other collider attached.

You need to separate the Player layer from the Child layers, then uncheck the collision between the projectile layer and the player layer (Edit / Project Settings / Physics). So the projectile will ignore the Player body.