You are right, this is definitely one of the options. This way you can use the "Number of Executors" to control a number of simultaneously running instances of the child graph. However, similarly to the "Number of Executors", you can also setup maximum number of running instances of the same graph/jobflow in case you don't execute it from a single component. This can be managed by CloverETL Server.
To do so, go to the CloverETL Server application -> Sandboxes -> Config Properties. The properties that you might be looking for are as follows:
1. max_running_concurrently (max number of concurrently running instances of the job) and
2. enqueue_executions (boolean value; if it is true, executions above max_running_concurrently are enqueued, if it is false executions above max_running_concurrently fail).
Navigate to any sandbox, jobflow or graph in the above-mentioned menu on the Server, in the "Create new config property" section, choose a parameter from a list, enter the desired value and add the parameter to the selected location.
Please note that it is applied per file, it means that it will work only if you call always the same graph (with a different parameter, for example).
Please give this a try and let me know if this is what you have been looking for.