Start method is not being called every time game object is enabled

Isn’t start method supposed to be called each time the game object is enabled?

Indeed. The method simply consists of reference.Start(); as you can call it like any other function. For example using gjf’s idea

function OnEnable()
{
    Start();
}

In the past I have simply invoked it the line after enabling, from my remote object, using GetComponent.

RTFM Unity - Scripting API: MonoBehaviour.Start()

Start is called exactly once in the lifetime of the script