We can account for $11$ in the $a_{n-2}$, case but it makes the $a_{n-1}$ case harder to deal with. Here's what would happen:
We have $4$ endings we can add to an $n-2$ length string to get to an $n$ length string: $00,01,10$, and $11$. Of these, the $10$ case and the $11$ case can't add any consecutive $0$s, so together they give us $2a_{n-2}$ valid strings. As in the other construction the $00$ case gives us a $2^{n-2}$ term (since it doesn't matter what the previous digits were). Finally, we are left with the $01$ case. This case is a little tricky to deal with because it will not just give us $a_{n-1}$ strings because we have the additional restriction that the last digit of the $n-1$ length string is a $0$. Okay, so how many valid strings of length $n-1$ are there whose last digit is $0$?. Well, as we had before the number of valid length $n-1$ stings whose last digit is $1$ is just $a_{n-2}$. Hence the number of valid $n-1$ length string who end in $0$ is $a_{n-1}-a_{n-2}$. This gives us the recurrence relation
$$a_n=2a_{n-2}+a_{n-1}-a_{n-2}+2^{n-2}=a_{n-2}+a_{n-1}+2^{n-2}$$
which is exactly what we had before except it took a bit more work.
The idea in the original solution is to avoid this difficulty by working backwards. First, if we add a $1$ to a valid $n-1$ length string, we get a valid $n$ length string, so we get an $a_{n-1}$ term (note here we are dealing with both the $01$ and $11$ cases because we are just requiring that the last digit be $1$). This leaves us with the $10$ and $00$ cases. The $00$ case we immediately deal with as before (getting a $2^{n-2}$ term). The $10$ case now just gives us a term of $a_{n-2}$ since we can't add any consecutive $0$s by adding $10$. Putting this into a recurrence relation gives us exactly the same thing as above, but we avoid having to cancel any terms.