The reason for converting the endpoints of the loop to a number is that the loop was so that if those values are strings, they ought to still function as expected.

This mirrors the JavaScript approach of automatically casting values to a reasonable type. And since loops can be incremented by non-integer values, floats are needed over ints. Without those float() casts, the above blocks would throw TypeError: can only concatenate str (not "float") to str
However, literally none of the other blocks implement similar type casting. Such as:
I propose dropping the float() functions from the Python generator for this loop block. A quick scan of the codebase doesn't reveal any similar cases.