Short answer: the wrong thing in your solution is that the definition you are using does not give an $\mathsf{NL}$ algorithm, it gives an $\mathsf{NP}$ algorithm.
Here is another way to explain the problem: in $\mathsf{NL}$ you can't really assume that you get a witness to verify which is of polynomial size (as we do in $\mathsf{NP}$). In fact if we take the polynomial size witness plus a log-space verifier we end up with $\mathsf{NP}$ not $\mathsf{NL}$ (and this is true even if we use weaker verifiers, as long as the witness is polynomial size and the class that verifier belongs to is capable of checking if a given string is an accepting computation of a given TM we end up with $\mathsf{NP}$).
So don't let the witness definition confuse you about $\mathsf{NL}$. An $\mathsf{NL}$ machine is a nondeterministic machine which makes nondeterministic decisions and uses only logarithmic space and we don't have a result that allows us to use a witness definition similar to the $\mathsf{NP}$ witness-verifier definition by just changing the verifier to be a log-space machine in place of a poly-time machine.
One can use a real-only read-once tape for a witness definition but that is not usually a good way of thinking about $\mathsf{NL}$.
The witness verifier definition for $\mathsf{NP}$ is used because we end up with a very nice intuitive definition for $\mathsf{NP}$: verifying answers in polynomial time. We don't end up with a similarly nice definition for $\mathsf{NL}$.
ps: for completeness, it is consistent with the current state of knowledge that there is an $\mathsf{NL}$ algorithm for the problem. However, such an algorithm would imply $\mathsf{NL}=\mathsf{P}=\mathsf{NP}$ since the problem is complete for $\mathsf{NP}$. Therefore although it is not completely ruled out, it is considered a very unlikely possibility (and you would win a 1 million dollar prize if you had such an algorithm).