The assumptions you choose depends on your noise model of course. You can consider a variety of noise models that make sense.
A common noise model (which is different from the Steane paper but I think equivalent to the qiskit one) is to consider adding some kind of noise channel after any single operation, such as a gate, or preparing a state.
For example after any single qubit gate you apply a noise channel to that qubit, and if you apply a CNOT, you might assume that the "target" receives an error, but the "control" part is left alone. In this noise model, you could imagine that errors not only occur during encoding, but decoding and even preparing your $|0\rangle$ state ancillas.
In the 3 qubit code code and above noise model, your "correct" step can recover from any error that exists on a single qubit. In the encode step, you might see an error in either CNOT, or an error on preparing the $|0\rangle$ state. The encode step doesn't propagate errors as written, because one error on any gate results in one error out of the three qubits.
This is not true if, say at the beginning we apply a gate to the first qubit. If this gate were to have error, then the CNOT gates would spread the error to all qubits.
In general though, you have to make this consideration because the simplest way of implementing an error correction algorithm may introduce more errors than you can correct for.