What version of web2py are you using? At least from 2.18.5+ it specifically defaults to samesite Lax (and you would have to call session.samesite(False) to override the Lax setting).
You could try put session.samesite('Lax') somewhere in your model and see if that resolves the issue.
You can try putting session.secure() in a model (if your site uses https).
You can also have a peek inside gluons/globals.py, specifically the Session class definition, to see what your web2py is doing with the samesite setting by default.
HTH,