Why don't we calculate the standard deviation with ordinal data?
Because difference is not defined.
In Ordinal data, data-values can be ordered, i.e, we can figure out whether A < B or not. For example: option "very satisfied" is greater than "slightly satisfied" in a survey. But, we cannot find the numeric difference between these two option. Standard deviation is defined as the average difference of values from mean, and that cannot be calculated for an ordinal data.