Sentinel2 pixel values and grayscale

I used python rioxarray_open.rasterio and .squessze() to load the Sentinel2 pixels values and plot the results in QGIS.

Though the results show one value for each pixel, you could see that the grayscale of every four pixels is exactly the same.

I try to change the symbology with “unique value”, but it still shows the same (four different pixels share the same color)

Why would this happen?