Cumulative rainfall per hour and day. Hour does not work

This is doomed to failure.
Item states are not simple variables.
postUpdate() is asynchronous, the instruction to perform the update is sent away on openHABs events bus, triggering any rules or bindings that are interested. Eventually, it also updates the Item’s state - but it takes time. Just a few milliseconds.

Your rule does not stop and wait.
So when you read back the state in the same rule, you will almost certainly get the “old” state. Or you might be lucky, it’s indeterminate.

That’s okay, you already know what you posted to the Item. Capture that in a real variable and use that instead for display or further calculations.

Running a rule every minute to calculate yearly rainfall isn’t very efficient, you might consider restructuring here.
If this minutes rainfall hasn’t changed, neither has the yearly etc.