Why do autoencoders come under unsupervised learning? Autoencoder is an unsupervised learning method. How? 
I have searched / read many documents, they mention it (autoencoder) as unsupervised learning, but there is no answer how it is?
 A: An autoencoder is unsupervised since it's not using labeled data.
The goal is to minimize reconstruction error based on a loss function, such as the mean squared error:
$\mathcal{L}(\mathbf{x},\mathbf{x'})=\|\mathbf{x}-\mathbf{x'}\|^2=\|\mathbf{x}-f(\mathbf{W'}(f(\mathbf{Wx}+\mathbf{b}))+\mathbf{b'})\|^2$
All algorithms that do not use labeled data (targets) are unsupervised.
Clustering algorithms are unsupervised. They generate natural groupings of data.
Autoencoders are typically used for dimensionality reduction.
You can think of them as non-linear PCA.
Autoencoders consist of an encoder and a decoder.
They kind of fit a zip and unzip functions for compression,
learned from the dataset.
In the image below there is just one hidden layer.
The output $x'$ is the corrupted version of $x$ (some noise is added -- 
this makes the compression more robust).
After the training is performed and the lower dimensional representation
is learned, you can get rid of the decoder. Now, with your encoding function
you can transform your data set into a lower dimensionality one.
With the new dataset now you can repeat the process with an even lower dimensionality. This is the basic idea of stacked autoencoders. 

A: Before answering the question, I quote from (Artificial Intelligence: A Modern Approach):

In unsupervised learning the agent learns pattern in the input even
though no explicit feedback is supplied. The most common unsupervised
learning task is clustering.
...
In supervised learning the agent observe some example input output pairs and learns functions that maps from input to output.

In unsupervised learning, you provide a function and you aim at minimizing or maximizing that function. However, in supervised learning, you do not know the function, and you hope by providing some examples, the learning algorithm will figure out the function that maps the inputs to the desired outputs with least error.
You cannot optimize autoencoders without a feedback from an example. Once you provide the same input in order to correct the performance, you supervise it. This is why.
If you're still unconvinced, try to train it without providing the input to the loss function. How are you going to correct the parameters?
Sometimes, autoencoders are not used to reconstruct the exact input, but rather with modified version. For example you can provide a set of brain images as inputs, and for the output you provide the same images with tumors highlightedas. In this case, you train the autoencoders to not only reconstruct the input, but also to find these anomalies.
A: This is pretty heuristic explanation :(
Autoencoders with sparsity enforcement seek to arrive at a more efficient representation of the data. Because we effectively restricting the number of how many neurons we allow to "fire" at a given layer, we are actually imposing sort-of bound on dimensionality of data which makes it to the next layer. This forces the algorithm to compress information. This compression is achieved, as usual, by similar treatment of simliar cases. 
For example, if we were to train an autoencoder with n-dimensional input and output, one hidden layer with strict sparsity parameter with linear activation functions of all neurons and we would succeed in training it "near-perfectly", we would arrive at a result very similiar to PCA. That is, the hidden layer would try to capture information which explains most variance.
In this sense, grouping observations which have similar output from the hidden layer allow us to get dimensionality-reduction effect while preserving a lot of information. This grouping or dimensionality reduction is essence of unsupervised learning.
A: Since terminology is so confusing someone invented the term "self-supervised" to describe autoencoders learning mode:

I now call it “self-supervised learning”, because “unsupervised” is
both a loaded and confusing term. …
Self-supervised learning uses way more supervisory signals than
supervised learning, and enormously more than reinforcement
learning. That’s why calling it “unsupervised” is totally
misleading.
by Yann LeCun (2019. 04. 30)
AI602: Recent Advances in Deep Learning: Lecture 07

Essentially, "unsupervised" means "learns from data not curated by humans" which is not what "not supervised" in the colloquial sense of the word "supervision" actually means. Self-supervised better describes how an autoencoder really works.
