Saying "normals are between -1 and +1" is a bit misleading, because that sentence mixes two mathematical concepts and is therefore ambiguous in what is actually meant.

To explain further:

A "normal" is a mathematical three-dimensional "vector", whereas the numbers -1 or +1 or any other single number are "scalars".

The normal (i.e. vector) is composed of three such scalars, namely for all three dimension (i.e. x, y and z).

Because all those three components are scalars, they themselves can be a number between -1 and +1, respectively.

And in fact, for normals those numbers always are between -1 and +1.

If they weren't, the length of that normal/vector would exceed 1. If that was the case, we say that the normal/vector is not "normalized".

And because all normals are normalized (hence the name), every normal's length is exactly 1.

Of course, a normal's components neet not be exactly -1 or exactly +1. The only restriction upon a normal vector is that it's length (computed via sqrt(x² + y² + z²)) is exactly 1.

EDIT:

After writing this, I actually did a look-up on "normal vectors" on Wolfram

http://mathworld.wolfram.com/NormalVector.html and in the above text I was partly wrong. The term "normal" seems not to stem from being "normalized", but instead is a term related to a vector being perpendicular to a surface.

It just so happens that in OpenGL a normal vector should also be normalized (have a length of 1) because of the various operations performed on it, which only give reasonable results when dealing with normalized vectors, as is the case for the dot/inner-product and the cross-product.