There are at least two options - to create the new grid correctly (1) or to shift the grid that does not fit (2).
- Be sure to select the same CRS and to set the same extent: best use the grid-layer already created for the extent of the new grid, see screenshot:

- Select the red grid in your screenshot, select all features, enable snapping, toggle editing and use the
Move feature
tool to place (snap) an angle of the red grid to the purple grid.
Edit
As you mentioned in your comment, both solutions did not work for you. Based on the data you provided, I can see that you mixed up different CRS: the department is in EPSG:2154
, the 1000 m grid in EPSG:4326
. This cannot work if you than want to fit a 500m grid in EPSG:2154
.
When I tested it with creating a grid with the extent of your department-polygon in the same CRS, all went fine. I created a 1000m- and a fitting 500m-grid covering the the department-polygon - find the project and all layers for download here.
To reproduce it yourself:
Create a new 1000m grid with extent of the department and EPSG:2154
.

Than use select by expression: grid / disjoint / department and delete the selected cells to keep only those that overlap the department:

Than create the 500 m grid with the extent of the 1000m grid:

Now, both grid fit perfectly - black: 1000m grid, red: 500 m grid:

Finally, to join attributes from the old grid to the new one, use Menu Processing / Toolbox / Join attributes by position
and be sure to set Join type
to Take attributes of the feature with largest overlap only (one-to-one)
- see screenshot for details. However, be aware that some attributes might not be valid any more (those refering to the geometry like length, area, coordinate values etc.).
Screenshot with attributes from the old grid layer (blue) joined to the new one (red), illustrated with the field OBJECTID
:
