If you touch two different objects in the area where they are overlapping, then "On touched object" will be triggered for both of them.
If you touch two overlapping instances of the same object, then this event will be triggered once, but will pick both instances. You can use "For each" inside this event.
Basically when you touch the screen, you touch all objects in this point, including invisible, with disabled collisions, on invisible layers etc.
For example, if you have multiple buttons sprites on different layers (HUD, GameOver, GamePaused), you can do this:
On Button touched
Button: is visible
System: Layer Button.LayerNumber is visible