Tiles spawn slightly to the right of my player

I’m making an endless drifting game with road that generates in front of the player and despawns behind him. The tiles generate fine but they spawn to the right of him. I don’t know why. Here is my script for reference. Thanks.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TileManager : MonoBehaviour
{

public GameObject[] tilePrefabs;
private Transform playerTransform;
private float spawnZ = -35.0f;
private float tileLength = 2.8f;
private int amnTilesOnScreen = 10;
private float safeZone = 9.0f;
private List<GameObject> activeTiles;

// Start is called before the first frame update
void Start()
{
    activeTiles = new List<GameObject>();
    playerTransform = GameObject.FindGameObjectWithTag("Player").transform;

    for (int i = 0; i < amnTilesOnScreen; i++)
    {
        SpawnTile();
    }
}

// Update is called once per frame
void Update()
{
    if (playerTransform.position.z - safeZone > (spawnZ - amnTilesOnScreen * tileLength))
    {
        SpawnTile();
        DeleteTile();
    }
}

private void SpawnTile(int prefabIndex = -1)
{
    GameObject go;
    go = Instantiate (tilePrefabs[0]) as GameObject;
    go.transform.SetParent (transform);
    go.transform.position = Vector3.forward * spawnZ;
    spawnZ += tileLength;
    activeTiles.Add(go);
}

private void DeleteTile()
{
    Destroy(activeTiles[0]);
    activeTiles.RemoveAt(0);
}

}

Your parent object of the prefab and the child object would be on different positions fix it . if it helps please give alike means a lot