This is likely a policy to be determined by the employer. I am unaware of any law limiting the time allowed.
No, they can not MAKE you stay extra hours any more than they can make you show up to work. You do so voluntarily and should be paid appropriately for the hours worked.
Some employers...