Никакой серьезной ошибки в этом предложении нет. Требования единства вида глаголов в однородном ряду (а здесь перед нами однородные смысловые компоненты сложного трехчленного сказуемого, выраженные инфинитивами) не существует. Существует лишь такая рекомендация, следовать которой иногда нужно, иногда не обязательно, а иногда и невозможно. В частности, в данном случае замена на «примыкать к нему» ведет к риску потери переносного значения, в котором употреблен глагол примкнуть. Риск возникает в силу того, что зло в данном случае употреблено в собирательном (а не обычном отвлеченном) значении.
Некоторая шероховатость здесь, впрочем, ощущается. Чтобы избежать ее, лучше было бы несколько изменить предложение: Ты должен был бороться со злом, а не примыкать к злодеям; Ты должен был бороться со злом, а не потакать ему и т. п.
В выражении Быть добру, здоровья всем! есть разве что некоторая стилистическая шероховатость, однако грамматической ошибки нет. Оно представляет собой свернутую конструкцию пожелания: [Желаем] быть добру и [желаем] здоровья всем.
Никаких отклонений от норм в этом предложении не наблюдается. Количество деепричастных оборотов нормой не регламентируется, оно ограничено только здравым смыслом: если перегрузить предложение, скажем, десятком деепричастных оборотов, оно будет плохо восприниматься или вообще не будет восприниматься. Но это относится не только к деепричастным оборотам.
Единственное, к чему можно (при очень большом желании) придраться, — это вид второго деепричастия. Сказуемое в предложении выражено глаголом несовершенного вида (обозначается длительный процесс), а оба деепричастия — совершенного вида. Первое из них воспринимается как обозначение действия, предшествовавшего основному (сначала затаил дыхание, затем наблюдает). Второе, поскольку оно тоже совершенного вида, также воспринимается как обозначение предшествовавшего действия: отметил и наблюдает. Но в таком случае не вполне логично то, что оно находится после основного сказуемого: должно бы тоже предшествовать. Позиция второго деепричастия объясняется тем, что ему подчинено изъяснительное придаточное, в котором заключен смысл, ради выражения которого в значительной мере написано и все предложение. Если переместить деепричастие вместе с придаточным в позицию слева от основного сказуемого, предложение станет читаться значительно хуже, а акцент на смысле придаточного пропадет. А оторвать придаточное от деепричастия не получится.
Раз второе деепричастие должно находиться все-таки справа от основного сказуемого. ближе к концу главной части, оно должно было бы обозначать действие, происходящее одновременно с основным; но в таком случае оно должно было бы иметь несовершенный вид (ср. с другим глаголом: ...наблюдал за серым зайчиком, удивляясь про себя тому, что даже зверек...). Однако удивляться можно продолжительное время, а отмечать про себя (что-то одно, и без значения повтора) — нет. В итоге автор предложения остановился на данном варианте — по-видимому, проигнорировав получившуюся шероховатость.
Фраза в целом корректна, однако некоторая грамматическая шероховатость в ней ощущается.