Two instances of prefab make same event

Hello hello.
Now I have a prefab:
7476674--919259--upload_2021-9-7_0-3-38.png
SpawnColliderObject look:
7476674--919265--upload_2021-9-7_0-4-52.png
SpawnColliderObserver.cs:

public class SpawnColliderObserver : MonoBehaviour, ITriggerColliderEnter<Vector3>
    {
        public event Action<Vector3> OnTriggerColliderEnter = delegate(Vector3 v) { };
       
        private void OnTriggerEnter(Collider other)
        {
            if (other.CompareTag("Player"))
            {
                    OnTriggerColliderEnter?.Invoke(transform.parent.position);
                Debug.Log($"{transform.parent.name} was sent the event");
             }
        }
    }

Then, I have a model:

public void Init()
        {
            _roadsList = new List<GameObject>();
            if(_roadData == null)
            {
                throw new FileNotFoundException($"Road Data not found");
            }
            for (int i = 0; i < _roadData.PoolSize; i++)
            {
                GameObject Road = GameObject.Instantiate(_roadData.RoadPrefab, _roadData.SpawnPosition, Quaternion.identity);
                Road.name = $"Road{i}";
                _roadsList.Add(Road);
                Road.GetComponentInChildren<SpawnColliderObserver>().OnTriggerColliderEnter += SpawnNewRoad;
                Road.SetActive(false);
            }
            _roadsList[_roadCounter].SetActive(true);
            _roadCounter++;
            SetRoadIndex?.Invoke(_roadCounter);
            _scrollSpeed = _roadData.ScrollSpeed;
        }

        private void SpawnNewRoad(Vector3 pos)
        {
           
            _roadsList[_roadCounter].transform.position = new Vector3(
                _roadsList[_roadCounter].transform.position.x,
                _roadsList[_roadCounter].transform.position.y,
                _roadsList[_roadCounter].transform.position.z + _roadsList[_roadCounter].transform.localScale.z
                );
            if (!_roadsList[_roadCounter].activeInHierarchy)
            {
                _roadsList[_roadCounter].SetActive(true);
            }
            _roadCounter++;
            if (_roadCounter >= _roadsList.Count) _roadCounter = 0;
            SetRoadIndex?.Invoke(_roadCounter);
        }

And when Player come in one of colliders, happens two events from both instances. _roadData.RoadPrefab - is a field of ScriptableObject. I’ve also try to load prefab directly, trough Resource.Load, same effect. I can’t understand what happening.

Solved, object with collider was moved first to the coordinates of the spawn, and then the coordinates along the z-axis were added to it