Why is the preview image better quality than the rendered one?
If you notice , you have pluged the output of your denoise node in your viewer , if you want the results to be similar to the viewer node output , then you should also plug that into the composite node , the viewer node is only for preview and compositor makes changes in the render itself