Why we calculate pseudo inverse over inverse
Short answer
A positive semi-definite matrix does not have to have full rank, thus might not be invertible using the normal inverse.
Long answer
If cov does not have full rank, it does have some eigenvalues equal to zero and its inverse is not defined (because some of its eigenvalues would be infinitely large). Thus, in order to be able to invert a positive semi-definite covariance matrix ("semi": not all eigenvalues are larger than zero), they use the pseudo-inverse. The latter inverts the non-zero eigenvalues and preserves the zero eigenvalues rather than inverting them to infinity.
The determinant of a matrix without full rank is zero. The pseudo-determinant only considers non-zero eigenvalues, yielding a non-zero result.
If, however, cov does have full rank, the results should be the same as with the usual inverse and determinant.
I was looking into "scipy.stats.multivariate_normal" function, there they mentioned that they are using the pseudo inverse, and pseudo determinant.

The covariance matrix cov must be a (symmetric) positive semi-definite matrix. The determinant and inverse of cov are computed as the pseudo-determinant and pseudo-inverse, respectively, so that cov does not need to have full rank.