Both of the methods you listed would work. For having multiple modals, you need to make a copy of the ToggleModal action and add an input parameter and adjust the code in the action to toggle that specific modal. Otherwise, the current ToggleModal action will toggle all modals currently available to the page.

A good example of having multiple modals on a screen can be seen in this forge component, by Nelson 'PD' Freitas:

You could build a page with multiple blocks and an input parameter that will define which one will be shown. Then wrap each block in a container and use the container's "Display" property to specify which is shown. So for instance, if your input parameter is named "DisplayId", the first container's Display property could be "DisplayId = 1", the second "DisplayId = 2", and so forth.