As mentioned in the comments the two clauses for 5 day and 1 day are redundant, because a 30 day interval to today already includes 5,1 day to today so remove them. Try something like this
(DATE_SUB(expirationDate, INTERVAL 30 DAY) BETWEEN DATE_SUB(NOW(), INTERVAL 3 DAY) AND NOW())
AND
(DATE_ADD(warnedDate, INTERVAL 4 DAY) <= NOW())
NOTE: AND
is used when you want BOTH of the conditions to be true and OR
for at least one condition to be true.