This is exactly my domain - I've been doing realtime lidar simulations for industrial and automotive autonomy for 5 years now.
One of my biggest pet peeves is the assumption lots of people make that you can somehow determine infrared reflectivity based on visible color. The outputs of a regular camera and a thermal imaging camera aren't the same, because infrared is a completely different spectrum than visible light.
Just like this image doesn't give you any information about what visible spectrum is generating the return (yellow, blue, red, etc.), the combined intensity here doesn't give you any information about what the surface is like in the infrared range.
All this is to say that any engine, Unreal, Unity, etc. that generates returns based on visible colors are going to be wrong. I have not yet seen an engine that generates correct lidar reflectivities.
The solution seems to be to write your own encoding mechanism. This is typically done by creating and assigning an additional texture to your model. When you do the raycasting for your lidar simulation then you should get a UV coordinate for the hit, and then you can go to your lidar texture and use the UV position to get the surface reflectivity at that point.
Regarding specific engines, I've used both Unity and Unreal, and while Unreal's graphics are without a doubt better than Unity's, the issue you'll find is that your renderings are only as good as the source material will let them be. If you don't have high-quality meshes, textures, materials, lighting, lighting probes, etc., then forget it, you'll never get to the AAA video quality that Unreal uses in their marketing material.
For me, I prefer Unity because C# is the best language (fight me), and because Unreal doesn't use the standard template library - they roll their own types which are incompatible with stuff like OpenCV, which makes integration outside of the Unreal engine (like ROS) really tedious. If you can find an Unreal plugin or something that someone already wrote (and you're okay being bound to their license terms!) then great, but if you're writing stuff on your own then I think it's a lot easier to develop in Unity.
Wandering off-topic here a bit, but to your question specifically:
What robotic simulators simulate the reflectivity of objects?
None of them do it correctly, but most of them will let you write your own solution. The best choice for platform is almost always the one you're most comfortable working with, so pick a programming language and go from there.