I calculated Eigen vectors of two badly-conditioned symmetric matrices of $K$ and $M$ ($M$ is positive definite). I employed two algorithms, the 1st algorithm is cholesky and the 2nd one is qz (generalized Schur decomposition).
Eigen vectors $\Phi$ returned by cholesky are $M$-orthonormal ($\Phi^T M \Phi = I$). Because $M$ is positive definite, I could easily normalize Eigen vectors of qz to be $M$-orthonormal too.
Among my Eigen values $\lambda$, I have 6 Eigen values which are very close to $0$.
When I compare the Eigen vectors of cholesky and qz side-by-side, I see that all the Eigen vectors are exactly the same, like below:
Sometimes they are different with a factor of $-1$ like below:
However, for the 6 Eigen values $\lambda$ which are close to zero, the Eigen vectors of cholesky and qz are different, like below, now my question is that are these different Eigen vectors natural? Shouldn't they be the same?

This is a duplicate, but many people have asked this, so it bears repeating:
This is because a vector space in $\mathbb{R}^n$ of dimension 2 or greater has multiple orthonormal bases.
In addition, even if the vector space has dimension 1, the orthonormal basis is only unique up to phase factors $e^{i\phi}$. Note that $-1=e^{i\pi}$, which explains your sign-flip problem.