Photons *may* have an infinitesimally small mass, but it could also be zero (it's a topic of current physics research). The problem is that photons travel at the speed of light (by definition) and that as something approaches the speed of light its mass increases by a factor of
gamma = 1/(sqrt(1-v^2/c^2))
(where c is the speed of light and v is the object's speed)
which means that an object with mass should never be able to reach the speed of light, because it would have infinite mass and require infinite energy to accelerate further.
They have a momentum that is disproportionately high for their mass, but it isn't extremely high. If the photon momentum was too high, sunlight would knock you over
As far as the required size of the sail, you have to bear in mind that the further that you get from the star (or other source of light) the less dense the photons are.
If we take the output of photons to be constant, then the same amount of photons is spread over a spherical shell at a distance R from the sun. The area of this shell is A=4/3*Pi*R^3. A sail of area B captures B/A of the total photons emitted by the star. At double that distance from the star, the area of the shell is A2 = 4/3 * Pi * (2R)^3 = 8*4/3*Pi*R^3 = 8*A. So the same sized sail now captures only B/(8*A) of the total photons (because they are less dense). At double the distance, the sail is 1/8 as effective, and so on. So it should be big if it is to maintain effectiveness for the whole voyage.