Я полагаю, что это вопрос мнения, но вы могли бы сделать что-то вроде этого:
if progress == 100%: status = completed; return;
if progress >= 100% - daysLeft: status = on-track; return;
if daysLeft > 0: status = at-risk; return;
status = off-track;
Таким образом, ваши два условия будут выполнены, и статус будет достигнут, когда останется больше днейчем выделенное количество времени для этой работы и риска, когда нет.
(Вы можете изменить операторы возврата на if-else, если хотите.)
Работает ли эта работадля тебя?