Why is the $C^\infty(M)$-module of smooth sections of a vector bundle $E$ not free?
First of all, it's not true that $\Gamma(E)$ is not free. What is true is that $\Gamma(E)$ might not be free, depending what $E$ is. Specifically, $\Gamma(E)$ is free iff the vector bundle $E$ is trivial.
This more specific statement gives us much more of a clue of how to prove it: we can expect that a basis for $\Gamma(E)$ corresponds to a trivialization of $E$. Indeed, if $E\cong M\times\mathbb{R}^n$ is trivial of rank $n$, then $\Gamma(E)\cong C^\infty(M)^n$: a section of $E$ can be identified with a smooth map $M\to\mathbb{R}^n$, or $n$ smooth maps $M\to\mathbb{R}$.
Conversely, suppose $B$ is a basis of $\Gamma(E)$ over $C^\infty(M)$, and let $m$ be the rank of $E$. Note that if we evaluate the elements of $B$ at any point $p$, they must span $E_p$ (otherwise $B$ could not generate all of $C^\infty(M)$), so $|B|\geq m$. I claim that $|B|=m$. To prove this, fix any point $p\in M$. We can find $s_1,\dots s_m\in B$ such that $s_1(p),\dots,s_m(p)$ is a basis for $E_p$. Then $s_1,\dots,s_m$ are linearly independent at every point in some neighborhood $U$ of $p$, and so give a local trivialization of $E$ on $U$. In particular, if $s\in B\setminus\{s_1,\dots s_m\}$ we can write $s=\sum_{i=1}^m c_is_i$ on $U$, for some smooth functions $c_i$ on $U$. Letting $\varphi\in C^\infty(M)$ be a bump function supported on $U$, we then have $$\varphi s=\sum_{i=1}^mc_i\varphi s_i$$ on all of $M$, where $c_i\varphi\in C^\infty(M)$. This is a nontrivial relation between elements of $B$, contradicting the assumption that they were a basis.
Thus no such $s$ can exist, and $B=\{s_1,\dots,s_m\}$ has $m$ elements. It now follows that $s_1(q),\dots,s_m(q)$ are a basis for $E_q$ for all $q\in M$, so $s_1,\dots,s_m$ give a trivialization of $E$.