on trigger enter registering all objects in scene

void OnTriggerEnter2D (Collider2D other)
{
Debug.Log(other.name);

}

this is the script for bullet colision, the problem is that, for no reason, debug.log keeps writing every gameobject name in console
if I try to destroy the bullet after collision, it happens imediatly after instantiation;

If first gameobject (name) is something that has collider and overlaps with your bullet that is intended function.
Define layers that interact with each other in Edit/Project Settings/Physics 2D/Layer Collision Matrix. Put bullet on one layer and objects that you want it to collide and mark those on Project Settings. Uncheck layers that you dont want colliders (physics) to interact.