Same question for Commands. If a command is going to dispatch an
event that will trigger an action in a mediator of an specific
instance of a view, how do I manage to have only that mediator to
pick up that event?

Your mediators shouldn't all get these events. As each of the
mediators is injected with a reference to the one view it is
mediating, you should be able to listen to events from that view and
really only get those, not the events from other views of the same
type.

The only simple explanation for that behavior to occur is if your
views are nested into one another on the display list and your events
are bubbling.
If that's the case, you'll have to either change the event dispatching
to make them non-bubbling, or check the event.target property to
verify that the event was dispatched by the right view.

As for events dispatched from commands: Commands shouldn't normally
act on mediators at all. Mediators should instead listen to events on
the event bus and react to them. These events might of course be
dispatched by commands if that makes sense in the context of your
application.