The options for how a custom task should run apply to the entire package i.e they will run once for the entire package despite what it says in the greyed out bit. The greyed out bit is only used for dynamic schedules.
You should consider going to the Exception Handling section and setting the package to fail if any of the reports fail. However this may no work for you as you are using the custom tasks themselves to kick off other packages and scedules.
Additionally I would advise that you do not chain schedules together in the way you are because if anything goes wrong in one section then sections of the chain may not behave as you require.
Run your macros as an automation schedule set to run at some time before the normal report packages kick in to run the reports.
Also consider putting long pauses (in your case possibly 20 mins) in the custom task between when macros run and when reports kick off. You may simply not be giving the sytem enough time to process each step.