Why high and lower bit of generator must be 1?
The low order bit, also known as the least significant bit (LSB), is the "ones" bit of the number. For example, in 001101, the LSB is the rightmost bit 001101.

The high order bit, also known as the most significant bit (MSB), is the "topmost" bit of the number. In our example 001101, it is the leftmost bit 001101.

The two terms are also used figuratively (in general discourse): a high order bit is something important, and a low order bit is something not important.

Now to your question. We represent a message $m_0,\ldots,m_n$ by a polynomial $M(x) = \sum_i m_i x^i$. Given a generator polynomial $G(x)$, the idea is to extend the message to a new message $M'(x)$ that satisfies $G(x) \mid M'(x)$.

If the low order bit of $G(x)$ is zero, then such an extension isn't always possible. Indeed, the low order bit of $G(x)$ is zero iff $x \mid G(x)$. If this is the case, then $G(x) \mid M'(x)$ implies $x \mid M'(x)$, i.e. $m_0 = 0$. So if the lower order bit of $G(x)$ is zero, we will only be able to extend $M$ to $M'$ if $m_0 = 0$ (and even this is not necessarily a sufficient condition).

If the high order bit of $G(x)$ is zero, then the problem is a different. The probability that $G(x) \mid M'(x)$ for a random $M'$ is $2^{-\deg G(x)}$ (assuming $G$ is irreducible, that is, cannot be factored nontrivially). Therefore CRC offers us $\deg G(x)$ bits of protection. We therefore want $G(x)$ to have the maximum degree possible. This corresponds to having a high order bit of one.

In practice, $G(x)$ is stored without its high order bit: an 8-bit CRC polynomial really corresponds to 9 bits 1xxxxxxxx, but there is no need to store the 1.