The methods "eig" and "eigh" return same values. Only difference is their order. "Eig" returns the right eigenvectors. "Eigh" returns the left eigenvectors. It means the order of the values is different. The other difference is the speed of computation. Eig first checks whether the matrix is symmetric. "Eigh" only accept symmetric matrices. In short, I don't think that using "eig" can cause any problem.
Documentation also says "The eigenvalues are not necessarily ordered."
https://numpy.org/doc/stable/reference/generated/numpy.linalg.eig.html
I will also apply the "eigh" and update the post based on the differences.
Thanks for the suggestion.