You can use pyqgis and iterate over each polygon, create a temp mask layer using its id, clip using the mask layer:
import os
output_raster_folder = r"C:\temp\test" #Adjust
rasterlayer = QgsProject.instance().mapLayersByName("land_use")[0] #Adjust
vectorlayer = QgsProject.instance().mapLayersByName("clip_layer")[0] #Adjust
name_field="name" #Adjust
for feature in vectorlayer.getFeatures(): #For each polygon in vectorlayer
#Create a temp layer using current feature id
masklayer = vectorlayer.materialize(QgsFeatureRequest().setFilterFid(feature.id()))
name = next(masklayer.getFeatures())[name_field] #Fetch its name from name_field
print(f"Clipping polygon: {name}")
#Create output raster name using the name: #Example: 'C:\\temp\\test\\clip_c669.tif'
output_raster = os.path.join(output_raster_folder, f"clip_{name}.tif") #Adjust if you want to
#Clip using the temp layer of only one polygon feature
processing.run("gdal:cliprasterbymasklayer", {'INPUT':rasterlayer,
'MASK':masklayer,'SOURCE_CRS':None,'TARGET_CRS':None,'TARGET_EXTENT':None,
'NODATA':None,'ALPHA_BAND':False,'CROP_TO_CUTLINE':True,
'KEEP_RESOLUTION':False,'SET_RESOLUTION':False,'X_RESOLUTION':None,
'Y_RESOLUTION':None,'MULTITHREADING':False,'OPTIONS':'COMPRESS=LZW',
'DATA_TYPE':0,'EXTRA':'','OUTPUT':output_raster})