K-means clustering is basically an unsupervised clustering algorithm. It is capable to tolerate some minor errors. On the other side, the KNN is structured clustering algorithm. For reliable operations, it should be accurate and reliable. The mechanism for both seems very similar at the first glance but users need to label the data in the KNN which is not required in the k-means clustering.
Hope this helps