Why don't (or can't) stars be more than 325 or so times the mass of the sun? What limits their size? Is there a particular reason why stars cannot grow as massive as they want to?
And why doesn't this limit apply to supermassive black holes?
There is basically an upper limit to the mass of a star because their luminosity is so great that the radiation pressure prevents the accretion of further mass.
However, the upper limit depends on the composition of the accreting material. This is because the effect of the radiation depends on the opacity of the material - stuff that is more metal-rich is more opaque. The upper limit you refer to is a bit too high for compositions similar to the Sun (I think more like $200 M_\odot$ would be the limit for that). For stars born in the distant past that were metal-poor, or even born from primordial material with no metals, the upper limit could be much higher.
For primordial material, with no metals at all, the physics that determines the upper limit is likely to be fragmentation. Primordial gas is quite transparent to radiation, but this also means it is poor at radiating away the heat from gravitational contraction. In principle, much larger bodies can only begin to contract towards being very massive stars if some of the gas is ionised or if there is hydrogen in molecular form. However, this cooling also reduces the Jeans mass, allowing the collapsing cloud to fragment into a cluster of smaller objects before a supermassive $(&gt;10^6 M_\odot)$ star/black hole could form.
Nobody knows for sure how supermassive black holes formed. It seems likely that they grew from seed intermediate black holes that formed from very massive primordial stars - perhaps thousands of solar masses - or even by direct collapse to black holes of mass $10^4-10^6 M_\odot$ without ever forming a stable star.