How to set screen boundaries on a moving camera

Thanks in advance to anyone who replies.

I am working on a basic horizontal shooter game where the screen moves horizontally at a fixed rate whilst the player moves around the screen shooting at incoming projectiles. My problem is that I have set the screen boundaries using the ScreenToWorldPoint; however after the camera moves a certain distance my player object is being pushed outside of the screen space.

Please find my code attached below. It might help clarify the issue:

using UnityEngine;

// Attached to the player
public class ScreenBoundaries : MonoBehaviour
{
    private Vector3 screenBoundaries;
    public GameObject player;

    private void Start()
    {
        SetBoundaries();
    }

    private void Update()
    {       
        Vector3 playerPosition = player.transform.position;
        playerPosition.x = Mathf.Clamp(playerPosition.x, screenBoundaries.x, -screenBoundaries.x);
        playerPosition.y = Mathf.Clamp(playerPosition.y, screenBoundaries.y, -screenBoundaries.y);
        player.transform.position = playerPosition;
    }

    private void SetBoundaries()
    {
        screenBoundaries = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, 
        Camera.main.transform.position.z));
    }
}

Search for edge collider . Create collider points using screen x and y coordinates and attach with camera gameobject . Your problem will be fixed