this loks strange to me
you are checking for
minutes has value 3
seconds has value 36
and remainder is calculated
unsigned long remainder = currentMillis -(seconds * 1000);
example numbers
currentMillis shall hold the number two-hundred-thousand 475 milliseconds
this means your sketch is running for 200 seconds three minutes and 20 seconds
200475 - ( 200 * 1000) = 475 this does not match == 476
200477 - ( 200 * 1000) = 477 this does not match == 476
Does your code check this if-condition faster than every millisecond ?
It is surely possible to check at this high speed.
post your complete sketch
And write down a description of the functionality that you want to have
write it in normal words to assure it is easy to understand
best regards Stefan