a.
We start from the general form $\ket{\psi} = \alpha \ket{0} + \beta \ket{1}$, where $\alpha, \beta \in \mathbb{C}$ and $|\alpha|^2 + |\beta|^2 = 1$. Since $\alpha$ and $\beta$ are complex numbers, we can separate them into the product of a real part and a phase: $\alpha = r_\alpha e^{i \phi_\alpha}$ and $\beta = r_\beta e^{i \phi_\beta}$. This gives:
(1)
\begin{align} \ket{\psi} &= \alpha \ket{0} + \beta \ket{1} \\ &= r_\alpha e^{i \phi_\alpha} \ket{0} + r_\beta e^{i \phi_\beta} \ket{1} \\ &= e^{i \phi_\alpha} \left( r_\alpha \ket{0} + e^{i (\phi_\beta - \phi_\alpha)} r_\beta \ket{1} \right) \end{align}
We now define a global phase $\gamma = \phi_\alpha$ and a relative phase $\phi = \phi_\beta - \phi_\alpha$. By our normalization condition $\braket{\psi}{\psi} = 1$, we require $r_\alpha^2 + r_\beta^2 = 1$, and thus without loss of generality we can set $r_\alpha = \cos{\widetilde{\theta}}$ and $r_\beta = \sin{\widetilde{\theta}}$. So we have:
(2)
\begin{align} \ket{\psi} = e^{i \gamma} \left( \cos{\widetilde{\theta}} \ket{0} + e^{i \phi} \sin{\widetilde{\theta}} \ket{1} \right) \end{align}
Now, we want to choose $\widetilde{\theta}$ such that these states map onto the surface of a unit Bloch sphere using standard spherical coordinates (where $\theta$ is the polar angle and $\phi$ is the azimuthal angle), and such that $\ket{0}$ is at the top (north pole, i.e., $\theta = 0$) and $\ket{1}$ is at the bottom (south pole, i.e., $\theta = \pi$).
Using the expression we derived above, $\ket{\phi(\widetilde{\theta} = 0)} = e^{i \gamma} \ket{0}$ is at the north pole, and $\ket{\phi(\widetilde{\theta} = \frac{\pi}{2})} = e^{i (\gamma + \phi)} \ket{1}$ is at the south pole. So to achieve the correct result, we must set $\widetilde{\theta} = \frac{\theta}{2}$. This gives the desired expression:
(3)
\begin{align} \ket{\psi} = e^{i \gamma}\left( \cos{\frac{\theta}{2}} \ket{0} + e^{i \phi} \sin{\frac{\theta}{2}} \ket{1} \right) \end{align}
Note that the relative phase $\phi$ is irrelevant at the poles.
b.
Recall the definition of the states:
(4)
\begin{align} \ket{+} &= \frac{1}{\sqrt2}(\ket{0} + \ket{1}) \qquad \ket{\mathbf{i}} = \frac{1}{\sqrt2}(\ket{0} + i \ket{1}) \\ \ket{-} &= \frac{1}{\sqrt2}(\ket{0} - \ket{1}) \qquad \ket{\mathbf{-i}} = \frac{1}{\sqrt2}(\ket{0} - i \ket{1}) \end{align}
By identifying $\cos{\frac{\theta}{2}}$ as the coefficient of $\ket{0}$ and $e^{i \phi} \sin{\frac{\theta}{2}}$ as the coefficient of $\ket{1}$, we can derive the corresponding values of $\theta$ and $\phi$ for each state:
(5)
\begin{align} \ket{+}\,&\Leftrightarrow\, \theta = \frac{\pi}{2},\,\phi = 0 \qquad \ket{\mathbf{i}}\,\Leftrightarrow\, \theta = \frac{\pi}{2},\,\phi = \frac{\pi}{2} \\ \ket{-}\,&\Leftrightarrow\, \theta = \frac{\pi}{2},\,\phi = \pi \qquad \ket{\mathbf{-i}}\,\Leftrightarrow\, \theta = \frac{\pi}{2},\,\phi = \frac{3\pi}{2} \end{align}
Notice that all four of these states lie on the equator of the Bloch sphere and thus have $\theta = \frac{\pi}{2}$.