Code structing for repeated tasks

I am struggling with something in code structure

What I want is this.

A code launcher that sets up tools and asks the user for input such as a group of plants.
Load one tool and do the same function for all points in the group (Make hole)
Load the next tool and do the second function all the points in the group (Drop seed in hole)
Load the next tool and do the third function for all points in the group (close hole)

Each attempt I have tried to do this with a sequence give me this result
H1,H2, H3 = holes
F1, F2, F3 = Fiunction
This is what I get
H1F1
H1F2
H1F3
H2F1
H2F2
H2F3
H3F1
H3F2
H3F3

This is what I want
H1F1
H2F1
H3F1
H1F2
H2F2
H3F2
H1F3
H2F3
H3F3

The result is wildly inefficient as it has to change the tool head each time.

I thought that the primary script (the launcher) could pass a group of points to a sequence (make holes) and the sequence would complete the function with the points in the passed parameters. That does not seem to be the case. I am probably missing something…

Its like an array question on a coding test…

But are all the seeds the same? else build a sequence for seed type
1.Make Holes: sequence The make_holes sequence will change the tool only once to the hole maker and perform the make_hole function on all points.
2. Drop Seeds sequence The drop_seeds sequence will then change the tool to the seed dropper and perform the ‘pick up’ anddrop_seed function on all points turning vacuum on and off( I built a open_cv inspector program with a 3rd party camera to see if seed was picked up, long since abandoned, I may still have the Python code .
3. Close Holes: The close_holes sequence will change the tool to the hole closer and perform the close_hole function on all points.I assume its a poker tool that you may have printed from thingverse that mows the top dirt over the hole, otherwiise just water the seeds from the injector work and those small holes close up.
4. Main Launcher: The main_launcher script will call each of these sequences in turn, passing the same group of points to each sequence.

This way, the operations are performed in a linear sequential action then are performed in the desired order without changing tools multiple times, thereby improving efficiency. Not sure how big the holes are but i would find home as often as possible to ensure the coordinates are as accurate as possible.

also,one of the tricks i have done is cover the seed bin in saran wrap, it does two things it knocks off extra seeds( most of the time) and two on windy days you can still plant without the seeds blowing out.

This is exactly what I coded using sequences.
The problem is the Launcher sequence executes once per point set in the group which is giving

H1F1
H1F2
H1F3
H2F1
H2F2
H2F3
H3F1
H3F2
H3F3

Hence my question

I am wondering if I have to code the launcher in LUA.