It sounds like your Volume button is stuck in the up or down position. Which is maybe why you are only booting into Safe Mode? And possibly why you cannot adjust the volume of the device except through menus? However, changing the volume should be undone immediately and changed again by the pressed in button...
A hardware malfunction would persist beyond a software reset.
And, if the button is permanently pressed in or malfunctioning the phone should boot into the bootloader prior to going into Safe Mode... Maybe fast boot bypasses the boot loader because the phone does not fully shut down?
Have you seen the stock bootloader screen yet? It is all white with 3 'Andy' Android mascots riding on skateboards.
Thanks Engadget for photo hosting
On the bootloader screen the volume button are used to navigate the menu, and could be used to test if the button functions or not.
You can also go into your phone dialer, like you are calling someone, and instead Dial *#*#3424#*#* (3424=DIAG) to access HTC's Diagnostic Test. (I can confirm this should work in Safe Mode as well as regular mode)
Press 'Accept' when prompted. Within this menu select 'Button Test'. On screen you should see an arrow next to every physical button, and when the button is pressed the arrow should disappear. Pressing them all completes the test.
Did you have any accessories plugged in (headphones, external battery pack) or Bluetooth paired (earpiece, headphones, etc.) with the phone when the malfunction took place?
Either way you are likely going to end up in your local phone shop, like Marc is saying. You might be able to absolutely confirm that the button/s is/are not functioning if you can get into the bootloader screen or Diagnostic Test.