Networking Question - Run on Server

Hi, I recently started learning networking with blueprints and was confused about two things. Hopefully someone can point me in the right direction.

Question 1:
Why is a Client able to call a Run on Server event on its character blueprint, but not on other blueprints? I read that a Client can only call Run on Server events through their own PlayerController/PlayerState BP/components. So how am I able to do a Run on Server event, say, on a Client’s personal widget?
Here is an example where the Client calls a Run on Server event on a non-player BP (ghost object):

Forgot to mention but input is enabled on this object. As you can see, everything after the event call runs (1st print string), but the actual event isn’t being called at all (2nd print string).
Why is this the case, but not on their own PlayerController BP’s? If I want to spawn an object through a Client’s widget button press, does it have to go all the way, pass all references, and call a function within PlayerController? It seems I have to store and pass a lot of information into PlayerController that way, if I have like 1000 different buttons doing different things that needs to be replicated.

Question 2:
How do I make a certain spawn be affected by anyone (Server or Client)? This is placed in a character blueprint so the Client can spawn an object too and have everyone see it.

If the Server spawns the object, it can up its location with G key. Since both events are Run on Server, everyone can see it. But, any Clients cannot press G key to up the location of the object. Same vice versa, when Clients spawn the object it can affect it, but the Server or other Clients cannot.
One workaround is doing Find all Actors of Class and change its location through that. Since that is possible, I assume if a Server spawns the object, its reference is lost/unknown on the Client’s side, thus G key doesn’t affect it. Would I have to store and pass the object reference - how would I do that, since it’s the same blueprint used by both Server and Client?

For my game, I need anyone to be able to spawn the object, and anyone to affect the same object and is replicated. How should I approach this problem?

Thank you!