Question on script A calling script B calling script A (loops)

I have a problem with one of the zigbee valves I use, sometimes the target temp setting is not applied. I’ve created the following two scripts that call each other (entry point is an automation calling the check script).
Is this script syntax correct? I’m not 100% sure about script.turn_on, is this the way to trigger a script?
Is this the way to do such things in a loop? Is there a better way to get to behaviour of a ‘do while’ loop?

'radiator_veranda_check_high':
  alias: Radiator Veranda Check High
  sequence:
  - below: '18'
    condition: numeric_state
    entity_id: sensor.radiator_veranda_target_temperature
  - delay: 00:00:05
  - data:
      entity_id: script.radiator_veranda_set_high
    service: script.turn_on
'radiator_veranda_set_high':
  alias: Radiator Veranda Set High
  sequence:
  - data:
      entity_id: climate.spirit_veranda
      temperature: 19.5
    service: climate.set_temperature
  - delay: 00:00:05
  - data:
      entity_id: script.1576930646356
    service: script.turn_on

Thanks!

Looping can be tricky. HA scripting isn’t all that elegant. However, given the way you’ve written it, for the most part it looks like it should work – with the exception that I think you’ve used the wrong entity_id for the first script at the end of the second script. Also you can invoke a script more directly. Try:

'radiator_veranda_check_high':
  alias: Radiator Veranda Check High
  sequence:
  - below: '18'
    condition: numeric_state
    entity_id: sensor.radiator_veranda_target_temperature
  - delay: 00:00:05
  - service: script.radiator_veranda_set_high
'radiator_veranda_set_high':
  alias: Radiator Veranda Set High
  sequence:
  - data:
      entity_id: climate.spirit_veranda
      temperature: 19.5
    service: climate.set_temperature
  - delay: 00:00:05
  - service: script.radiator_veranda_check_high