Why 6.023x10^23 is not written as 6023x10^20?
Dissenter's answer is not quite right, since, strictly speaking, as defined there, the scientific notation will work for positive numbers only. Obviously, it can be easily fixed to work for negative as well, but the case of 0 will continue to be problematic. Just try to follow this rule to understand why. 

All in all, it is the matter of definitions, but usually, scientific notation is defined as just a way of writing numbers in the form $a \cdot 10^b$ without any restrictions on $a$ which can be any real number. So, both $6.023 \cdot 10^{23}$ and $6023 \cdot 10^{20}$ are considered to be numbers written in scientific notation.

However, in the normalized scientific notation, indeed,


  the exponent $b$ is chosen so that the absolute value of $a$ remains at
  least one but less than ten ($1 ≤ |a| &lt; 10$),


and thus, only $6.023 \cdot 10^{23}$ is written in this notation. Normalized scientific notation  is just one special case of scientific notation. And yeah, you could not write down zero in this notation, which is kind of awkward. 

Another special case of scientific notation is the so-called engineering notation in which the exponent $b$ is restricted to multiples of 3. Neither $6.023 \cdot 10^{23}$ and $6023 \cdot 10^{20}$ are written in engineering notation, while $602.3 \cdot 10^{21}$ is. Although engineering notation is a special case of scientific one as defined above, is rarely called scientific notation to avoid an ambiguity.