That would work as long as it didn’t have parent objects or if did have parent objects and they were always active. Since you are setting helpGo active and inactive, it might be more consistent to use activeSelf.
If the gameObject is not Active then it can’t be found so GameObject.Find would work from a script that is not on the actual object. As far as I know any components or children don’t work when it or its parents are not active.
Just I attach HelpScript.cs to my help game object (most parent object), and then wrote above function, assign its own help gameObject to helpGO variable.
And access to HelpScript from other script for turn it on/off, and this works.