It doesn't cost much to add a user to SaaS, but it costs a lot to write the software and convince people to pay for it.
Gross margins are calculated from per unit costs, so advertising expenses, servers, supporting SaaS, and the salaries of programmers and sales people are not included.
Also, physical products are made from relatively scarce resources. Software is typed, and words are not scarce.
SaaS companies have benefited from demand outstripping supply. SaaS replaces human labor, so it takes a SaaS competitor to drive down prices.
So reason is very low costs... being that there is almost no physical inventory/material costs involved.
Just servers, a few programmers to make and maintain things, any other staff, and whatever bills they have (e.g. electricity/internet/advertising/fees from software they use).