The Quantum Drunkard's Walk
Wolfram Language (Mathematica), 92 91 bytes
Print@@@CellularAutomaton[{7049487784884,{3,{a={0,3,0},3-2a/3,a}},{1,1}},{j={{1}},0},{j#}]&amp;

A perfect challenge to use Mathematica's builtin CellularAutomaton!
Try it online!
Empty = 0, Awake = 1, Sleeping = 2
Animation of the first 256 iterations (white = empty, gray = awake, black = sleeping):

Explanation
CellularAutomaton[ ... ]

Run CellularAutomaton with specifications...
{7049487784884,{3,{a={0,3,0},3-2a/3,a}},{1,1}}

Apply the 3-color totalistic rule 7049487784884, with Von Neumann neighborhood...
{j={{1}},0}

On a board with a single 1 in the middle, with a background of 0s...
{j#}

Repeat &lt;input&gt; times ({j#} evaluates to {{{#}}}). The array automatically expands if a cell outside of the border is not the same as the background
7049487784884

This rule comes from the base-3 number 220221220221220221220221220, which means &quot;change all 1 or 2 to 2, and change 0 to 1 if and only if there is an odd number of 1s around it.&quot;
Print@@@

Print the array.
Semi-proof of &quot;'odd 1s' is equivalent to 'exactly one 1'&quot;:
Consider this 5x5 grid of pixels. White is a 0 or a 2 cell (non-awake pixels), and gray is a 1 cell.

If a 1 cell was generated around three 0 cells, then the grid must look like this: it has three 1s arranged in a U-shape (or a rotated version) as follows:

Due to the self-similarity of this cellular automaton, any pattern that appears in the cellular automaton must appear on the diagonal (by induction). However, this pattern is not diagonally symmetric. i.e. it cannot occur on the diagonal and cannot appear anywhere on the cellular automaton.
Awake/Sleeping are equivalent
Note that a 0 cell cannot be surrounded by exactly one or three 2 cells and rest 0 cells, since that would imply that some steps prior, the cell had a neighbor of one or three 1 cells -- and must have turned into a 1 already (contradiction). Therefore, it is okay to ignore the distinction between 1 and 2 and state 'change all 1 to 1, and a 0 to a 1 if and only if it has an odd number of nonzero neighbors.'
The resulting cellular automaton is indeed identical to the original, the only difference being there is no distinction between &quot;awake&quot; and &quot;asleep&quot; drunkards. This pattern is described in OEIS A169707.
Print@@@CellularAutomaton[{750,{2,{a={0,2,0},2-a/2,a}},{1,1}},{j={{1}},0},{j#}]&amp;

Try it online!
Side-by-side comparison of the first 16 iterations:

Adding two consecutive iterations gives a result that follows the challenge specs (94 bytes):
Print@@@Plus@@CellularAutomaton[{750,{2,{a={0,2,0},2-a/2,a}},{1,1}},{{{1}},0},{Ramp@{#-1,#}}]&amp;

Try it online!