okay, in this version, it is not required anymore to multiply with 1.0, as divisions always return a FLOAT.
Then the reason is that REMAP_TIMESTAMPS ignores times when you specify days that should be taken into account. So in this case, it only counts full days, so any number returned by REMAP_TIMESTAMPS is a multiple of 24.
In order to take times into account, you can add the time range 00:00-23:59 to at least one of the specified days.
REMAP_TIMESTAMPS(HOUR_NOW(), HOURS, MONDAY 00:00-23:59 TUESDAY WEDNESDAY THURSDAY FRIDAY) / 24
This behavior is documented here under “Day based calendar”.