You can create a virtual field in the Field calculator for the grid layer and fill it with
aggregate( layer:='Your pointlayername', aggregate:=' concatenate'='concatenate', expression:=to_string(attributes()['attributenameofpointlayer']), filter:=intersects($geometry, geometry(@parent)), concatenator:=',' ) You may need to transform coordinates with function transformtransform() if grid (polygon) and coordinates points do not match due to difference for the projection
You can find a link to a minimum QGIS project demo https://labs.webgeodatavore.com/partage/demo-aggregate-expression-points-in-grid.zip