GameObject fields evaluate to null, but they are actually assigned and working

I’ve been browsing for days on the internet, desperately trying to solve this problem. Basically, I have a simple game manager script in my game which needs references to game objects that are part of the UI. I have called them UITutorialText, UITutorialImage, UIGamePaused and they are, respectively, a Text which shows up as a tutorial, an image for the tutorial and a text which gets displayed when the game is paused.
I assign them through drag and drop in the inspector, but whenever I check their value in the script they evaluate to null, even though the script is actually working and I never get any NullReference error. This happens in the Awake, Start or Update method in the same way.
Here are the relevant bits of code (I omitted parts which do not use those fields):

// UI elements to control
    public GameObject UITutorialText;
    public GameObject UITutorialImage;
    public GameObject UIGamePaused;

void Awake()
        // setup reference to game manager
        if (gm == null)
            gm = this.GetComponent<NewGameManager>();
        currentSceneName = SceneManager.GetActiveScene().name;
        // setup all the variables, the UI, and provide errors if things not setup properly.

void setupDefaults()
        // friendly error messages
        if (UIGamePaused == null)
            Debug.LogError("Need to set UIGamePaused on Game Manager.");
        if (UITutorialText == null)
            Debug.LogError("Need to set UI Tutorial Text on Game Manager.");
        if (UITutorialImage == null)
            Debug.LogError("Need to set UI Tutorial Image on Game Manager.");


As you can see, variables are given a value in the inspector:

But then I see 3 errors in the console which mean that I have 3 null pointers:

What might I be getting wrong? Thanks in advance!

EDIT: I ran some tests and I discovered something very strange: if I log the value of one of the fields (UITutorialText) every time that Update runs, I get null, then a correct value, then null, then a value, then null and so on…
It looks like something is changing those variables at every Update cycle, but I only use them in this very script.

Ok, I am so stupid… I just found the solution. It looked like there was another instance of the same script running, so I disabled every game object except for my GameManager and tried to enable back the others one by one… the same script was attached in a Background Camera nested into my Main Camera… removing that fixed everything.

Sorry for the time I have made you uselessly waste.