You can generate these IDs using a virtual layer
Run the grid tool as you currently do.
Go the the menu layer / add layer / add-edit virtual layer and enter the following query.
select *, char(r+64) || ROW_NUMBER() OVER(PARTITION BY r) as newID
SELECT *,DENSE_RANK() OVER (ORDER BY round( ST_minY(geometry)/0.02) desc) as r
ORDER BY ...
That is happening because:
You are drawing planimetric lines in a Mercator projection far away from its true scale curve (the equator in EPSG:3857);
And the Mercator projection produces considerable deformations in distances far away from its true scale curve (curve if tangential, i.e., k_0 = 1; curves if secant, i.e., k_0 < 1; or nothing if exterior,...
I suggest you to use Geopandas, it is self explanatory in the answer below:
You are using WGS84 with Lat Lon, so width and height must be in degrees.
Right now 100 x 100 means 100 degrees, that is why it is one polygon
Change that to roughly 0.001 (110 km * 0.001 is circa 100 m) for lat (length/Y ...