Spawn item is being called through the interface widget. If the host, or other clients, don’t have that widget open, the command won’t run. The controller should always be there, so it’d be better to put that action on it or on a character.
ID isn’t hooked up. If ID is just meant to find the first widget, it’s always going to be 0 since only one widget should be present per machine.
If you’re spawning an actor, that actor can be set to replicate and once it spawns on the server, it will also spawn on the clients automatically. When it’s destroyed, it’ll automatically be removed. Sending an RPC to the clients and spawning items manually should work too, it just ends up being more work than it needs to be unless you have some kind of special prediction in mind.