Why does the state remain unchanged in the small-step operational semantics of a while loop?
The state can change in subsequent reduction steps because on the right hand side of 

$$
   \langle while\ B\ do\ S, \sigma \rangle
\quad\rightarrow\quad
 \langle if\ B\ then\ ( {\color{red}{S}};\  while\ B\ do\ S )\ else\ skip, \sigma\rangle
$$

the $while$-loop is guarded (preceeded) by $S$. The computation of $S$ may change the state so that the condition $B$ can evaluate to $\mathsf{false}$.