Set value in action dynamically

You cant use templates in device actions, triggers or conditions. Use the number set value service instead. Also you need to quote single line templates, supply defaults for your float filters and stop applying float filters to numbers that are already numbers. If you use a multi line template you must indicate it with > and not quote it (as I have done for your messages).

action:
  - service: number.set_value
    target:
      entity_id: number.grid_export_limit
    data:
      value: "{{ ( states('sensor.allowed_grid_export_limit') | float(0) * 0.95 / 100 ) | round(0, 'floor') * 100 }}"
    - service: notify.mobile_app_sm_s901b
      data:
        message: >
          Povoluji přetoky do DS, protože cena výkupu elektřiny je {{ states("sensor.current_spot_electricity_price")|round(2)
          }} Kč/kWh
        title: GoodWe Grid Export Enabled
    - service: notify.seznam_cz
      data:
        title: GoodWe Grid Export Enabled
        message: >
          Povoluji přetoky do DS, protože cena výkupu elektřiny je {{ states("sensor.current_spot_electricity_price")|round(2)
          }} Kč/kWh
      enabled: false
  mode: single

Consider never using device actions, triggers or conditions. See: What happens if I have to replace a device - #2 by tom_l