My question concerns the second sentence in the last paragraph i.e. 'The projection theorem guarantees that there is at least one solution of $\phi_n$ of (2.3.9)'. If a vector is uniquely defined by $\phi_n$ how is it that there can be more than one solution of $\phi_n$? Also, how does the singularity of $\Gamma_n$ imply that there are infinitely many solutions for $\phi_n$?
Let's consider a simple example, one where $\Gamma_2$ has two columns $[\gamma_1, \gamma_2]$ that are identical: $\gamma_1 = \gamma_2$. In this case, any projection is necessarily on to the space spanned by, let us choose for concreteness, $\gamma_1$, although it in some sense appears to be onto a space spanned by two vectors.
Let us assume the best projection onto $\gamma_1$ is $\beta \gamma_1$. In the space $[\gamma_1, \gamma_2]$, though, we have that any $\beta_1, \beta_2$ such that $\beta_1\gamma_1 + \beta_2\gamma_2 = \beta\gamma_1$ will be an equally good projection. Since (in our special case) $\gamma_1 = \gamma_2$, all we need is that $\beta_1 + \beta_2 = \beta$, and there are an infinite number of $\beta_1, \beta_2$ combinations such that this will hold.
More generally, you're projecting onto a $k < n$ dimensional space, but you have $n$ vectors in that space to choose from when defining that projection. So there are clearly multiple ways of defining the projection, all of which are identical in terms of the end result.