Como no veo el código completo no se bien si este puede o no ser el problema.
La librería tiene por defecto un límite de alarmas posibles según la SRAM del Arduino bajo uso.
En TimeAlarm.h puedes ver esto
#if !defined(dtNBR_ALARMS )
#if defined(__AVR__)
#define dtNBR_ALARMS 6 // max is 255
#elif defined(ESP8266)
#define dtNBR_ALARMS 20 // for esp8266 chip - max is 255
#else
#define dtNBR_ALARMS 12 // assume non-AVR has more memory
#endif
#endif
EN un AVR común tienes 6 alarmas máximo y eso puede ser un limitante.
No para que no responda a las primeras y si a las otras.
Edito: esa rutina me hace creer que intentas cambiar las alarmas de un modo dinámico y eso no es posible acer del modo que lo estas haciendo.
Postea todo el código.