You can't. At least not easily.
Checkboxes in Numbers are geared for input only - they equate to TRUE or FALSE and can be used as triggers for other cells. However, you can't have formulas behind them that calculate a TRUE or FALSE result and set the checkbox accordingly.
This is a common question, and I don't really see a reason why it couldn't, but that's the state we're in.
There's a possible workaround, though, which is that if all you want is a visual display, you can do something using IF(), like:
=IF(DAY(TODAY())>H2,"✅","🟥")
This compares today's day number with the value in H2 (which you'd need to enter as "1" rather than "1st", unless you want to jump through extra hoops). If TODAY() is greater than the due date, it returns the symbol for a checked box (use Edit -> Emojis & Symbols to enter it), otherwise it returns the red box (obviously you can use any symbols you like).
It's a hack, for sure, and you can't click on it to indicate whether the bill has been paid or not (although some additional logic in there might get you close).