Why does the Messages app request access to your heart rate?
The messages app requires the your heart beat for the pulsating heart sticker.

This sticker works on both the apple watch as well as messages on iOS within the "Digital Touch" scribble feature. There you can press and hold two fingers until a heart shows up that will pulsate with your current heart-rate.

This can of course be considered a gimmick so if you do not want to allow messages to access your heart beat, you can just choose not to share it. The only consequence of that would be that, if you send a heart beat using that feature, it will not be synced to your actual heart beat but use a default value.