  In a companion paper we introduce 21cmFirstCLASS, a new code for computing
the 21-cm anisotropies, assembled from the merger of the two popular codes
21cmFAST and CLASS. Unlike the standard 21cmFAST, which begins at $z=35$ with
homogeneous temperature and ionization boxes, our code begins its calculations
from recombination, evolves the signal through the dark ages, and naturally
yields an inhomogeneous box at $z=35$. In this paper, we validate the output of
21cmFirstCLASS by developing a new theoretical framework which is simple and
intuitive on the one hand, but is robust and precise on the other hand. As has
been recently claimed, using consistent inhomogeneous initial conditions
mitigates inaccuracies, which according to our analysis can otherwise reach the
$\mathcal O\left(20\%\right)$ level. On top of that, we also show for the first
time that 21cmFAST over-predicts the 21-cm power spectrum at $z\gtrsim20$ by
another $\mathcal O\left(20\%\right)$, due to the underlying assumption that
$\delta_b=\delta_c$, namely that the density fluctuations in baryons and cold
dark matter are indistinguishable. We propose an elegant solution to this
discrepancy by introducing an appropriate scale-dependent growth factor into
the evolution equations. Our analysis shows that this modification will ensure
sub-percent differences between 21cmFirstCLASS and the Boltzmann solver CAMB at
$z\leq50$ for all scales between the horizon and the Jeans scale. This will
enable 21cmFirstCLASS to consistently and reliably simulate the 21-cm
anisotropies both in the dark ages and cosmic dawn, for any cosmology. The code
is publicly available at https://github.com/jordanflitter/21cmFirstCLASS.
