Why is oxygen paramagnetic?
To understand the paramagnetic nature of $\ce{O2}$, we must first understand how atomic orbitals mix together to form molecular orbitals. In the diatomic molecules of the elements in the second period, a phenomenon known as $\mathrm{s}$-$\mathrm{p}$ mixing  results in an increase in the energy of the $\sigma_\mathrm{2p_z}$ molecular orbital, and a decrease in the energy of the $\sigma_\mathrm{2s}$ orbital. This is also observed in the $\sigma^{*}_\mathrm{2p_z}$ and $\sigma^{*}_\mathrm{2s}$ orbitals. 

The degree of $\mathrm{s}$-$\mathrm{p}$ mixing is determined by the energy gap between the $\mathrm{s}$ and $\mathrm{p}$ orbitals. The higher the energy gap, the less the orbitals mix. Because the $\mathrm{s}$-$\mathrm{p}$ gap increases across a period, $\mathrm{s}$-$\mathrm{p}$ mixing in $\ce{O2}$ and $\ce{F2}$ is actually so low that the $\sigma^{*}_\mathrm{2p_z}$ orbital is lower in energy than the $\pi_\mathrm{2p_{x,y}}$ orbital, unlike the preceding elements.

This can be seen here:



[source]

By constructing the molecular orbital diagram for $\ce{O2}$ and filling each  orbital according to Hund's rule, it becomes evident that $\ce{O2}$ is a diradical, with two unpaired electrons of the same spin. This is what gives oxygen its paramagnetism.