Python 2 + numpy, 3758 bytes
lambda m:sum(linalg.svd(m)[1]>1e-10)==1 from numpy import* linalg.matrix_rank
Try it online!Try it online!
Yeah... I definitely don't understand a lot of the math involved in singular value decomposition and doing otherwise seems like a PITA so...Credit to numpy yaythis.