I believe that this is actually two separate questions; I'll try to explain the issue concerning errors as channels with multiple Kraus operators instead of unitaries first:
You are correct in saying that errors, in general, are not unitary operations. Rather, they are quantum channels that most often have more than 1 Kraus operators. Consider, for instance, the dephasing channel, which has Kraus operators:
\begin{equation}
A_{1} = \sqrt{1-p}I, A_{2} = \sqrt{p}Z
\end{equation}
i.e. some channel that does nothing with probability $1-p$ and applies a $Z$ operation that is applied with probability $p$.
If we start with some pure state $|\psi\rangle\langle\psi|$, after this channel we will have some statistical mixture $\rho$ of $I|\psi\rangle\langle\psi|I$ and $Z|\psi\rangle\langle\psi|Z^{\dagger}$. How can we ever happen to correct this?
The trick is to measure (for instance, by stabilizer measurement) if an error has happened. Lets say that we have entangled the qubit with another qubit (the ancilla) in such a way that the ancilla is in the $|1\rangle$ state when a $Z$ error/unitary has happened, whereas it is in the $|0\rangle$ state when nothing (i.e. $I$) has happened. What does our state look like before measurement?. Well:
\begin{equation}
\rho_{total} = (1-p)I|\psi\rangle\langle\psi|I \otimes |0\rangle_{anc} + pZ|\psi\rangle\langle\psi|Z^{\dagger} \otimes |1\rangle_{anc}.
\end{equation}
Now comes the trick: we only measure the ancilla. Upon this measurement, our (data) qubit state collapses to either $I|\psi\rangle$ or $Z|\psi\rangle$. By measuring the (possible) error, we have forced it to discretise itself into a unitary error! If our code is actually well designed, we can now infer from only the ancilla measurements (called the error syndrome) if, and what kind of error there happed.
Now, on to the first part: we can always write any set of Kraus operators as a linear combination of unitaries; for simplicity we always use the Paulis. If our code can correct these Paulis, it can also correct any linear combination of these Paulis (because measuring if anything happened discretises the error into these Paulis. So we don't need to keep track of all possible (literally uncountably many) different Kraus operations, but only a (relatively) small discrete set of Paulis (or other unitaries if you want to)!
Can we then correct all errors? No, unfortunately not. We can never, with one stabilizer code, correct for all different Paulis, but only a subset $\mathcal{E}$, called the set of correctable errors. So if (at least) one of our Kraus operators can't be written as a linear combination of only elements of $\mathcal{E}$, we can't correct for that Kraus operator.
The conditions you use for QECC's are a bit finicky I believe; the first one is (somewhat) like the actual Knill-LaFlamme conditions, the other one only applies to the (subclass) of stabilizer codes (although most people only consider these types of codes). Also, I don't think it matters very much concerning your confusion.