Assuming the MQTT topic is correct and, most importantly, the received payload is a numeric value between 0 and 1 (not between 0 and 100) then the sole error is a minor one: add a line-continuation character (>) after value_template.
data:
volume_level: >
{{trigger.payload}}
If the received value is between 0 and 100 then you should also do this: