In the case where two or more observer classes are attached to a single/common notifier, the associated notifier code is not executed for all occurrences in the ZC 1.5.7 version issued on or before 7/3/2020 ~2359 GMT.
This results from the following code found in: includes/classes/class.base.php

Code:
            foreach($methodsToCheck as $method) {
                if (method_exists($obs['obs'], $method)) {
                    $obs['obs']->{$method}($this, $actualEventId, $param1, $param2, $param3, $param4, $param5, $param6, $param7, $param8, $param9);
                    return;
                }
This code is within a loop of observers. The goal of the above area was in a way to prevent execution of a warning message that follows. Unfortunately, by returning, the outer loop is exited. When this is instead changed to a continue 2 then the current inner loop is exited (because an acceptable method has been matched) and the outer loop is progressed one to try again to find the method that is attempting to observe the notifier...

So the code becomes:
Code:
            foreach($methodsToCheck as $method) {
                if (method_exists($obs['obs'], $method)) {
                    $obs['obs']->{$method}($this, $actualEventId, $param1, $param2, $param3, $param4, $param5, $param6, $param7, $param8, $param9);
                    continue 2;
                }
See: https://github.com/zencart/zencart/issues/3656