It is necessary when reconstruction is considered. Simply imagine the case when $A = \Phi \Psi$ has a high coherence, e.g. all columns are exactly the same and indistinguishable, then there is no way to tell which columns of $A$ and hence whichcorrespond to non-zero elements of $a$ are non-zero and and together were contributed to vector $Y$. If you look at equation 2 below, you can say vector $Y$ is summution of columns of $\Phi \Psi$ multiplied in corresponding elements from vector $a$. When the signal is sparse (first assumption), but we do not know our measurement vector resemble which columns of $\Phi \Psi$ (hence using it to decode), our sparse reconstruction fails.
$$ Y = \Phi X ~~~~~~~~~~~~~~~~~(1)$$ $$ Y = \Phi \Psi a ~~~~~~~~~~~~~~~(2)$$
$Y$ being measurement vector and $a$ being sparse representation of signal of $X$, so $a = \Psi^{-1}X$. Basically, the problem of CS reconstruction is finding our which non-zero elements from the sparse matrix contributed to the measurement and how much was their contribution. If you do not have a unique enough corresponding column for $A$ then you cannot tell which elements were the contributor and how much was the contribution.