I had to give this a good, long thought, after I initially thought this is a question which is hardly answerable with a molecular orbitals diagram by itself. Now that I have spent quite some time thinking about it, I must admit I enjoy this exercise a lot.
The key to explaining that carbon monoxide is a two electron donor through carbon is to start with with a very fundamental MO scheme. This is basically to get you dimensions right and not to mix things up later. It is also one of the things I would consider a prerequisite for these kinds of exercises.
The above diagram is for a symmetric diatomic molecule with no s-p mixing. This is true for the heavier main group elements; have a look at this explanation by Wildcat.
For dinitrogen we will have to adapt this scheme to include s-p mixing. Here it is important to know, that the interaction is still strong enough to raise the 2σ valence orbital above the 1π orbitals.
With pen and paper it is a bit too difficult to draw the MO, so it is probably easier to exaggerate the respective contributions to the orbitals. For example the 1σ orbital in the non mixing case is comprised of pure s-orbitals. When it is mixing, there has to be some s-p character which is difficult to draw. As a general guideline electron density concentrates along the bonding axis for bonding orbitals, while for anti-bonding orbitals in the lone-pair region. The π orbitals largely remain untouched by this.
From there we can use the fact, that carbon monoxide is isoelectronic with dinitrogen. We have to skew the energies of the atomic orbitals. The energy of the atomic orbitals is decreasing from left to right in the period; therefore carbon will have slightly elevated levels and nitrogen's are lowered.
In this case it is easier to not tinker with the ordering of the MO as this is just a pen and paper exercise. However, one should be aware, that the levels will overall change in this molecule.
The atomic orbitals that are closer to the energy of the molecular orbital will have a larger coefficient. Therefore 1σ and 1π will be polarised towards oxygen. On the other hand 2σ and 3σ will be polarised towards carbon.
One can also argue this with Bent's rule (gold book), emphasis mine:
In a molecule, smaller bond angles are formed between electronegative ligands since the central atom, to which the ligands are attached, tends to direct bonding hybrid orbitals of greater p character towards its more electronegative substituents.
The rule itself (is an observation, which) applies to more complex molecules, but can be applied to this situation, too. Oxygen is more electronegative than carbon therefore the bonding hybrid orbitals will have more p-character directed towards oxygen. At carbon itself will be more s-character for the lone pair, which is what we observe for the HOMO, when we apply the polarisation, too.
From this deductive chain one can reasonably explain, that the HOMO of carbon monoxide must be of σ symmetry (two electron donor) and have the largest coefficient at the carbon atom and will therefore rather coordinate there than through the oxygen.