Each form needs to have a unique name. I suppose you could use uuid to
make a unique name. Then something like this pseudocode might work:
allforms=dict(form_id=new_form_id(),form=SQLFORM(...))
for f in allforms:
if f['form'].accepts(request.vars,formname=f['form_id']):
# do something if form accepts
else:
# do something else if form doesn't accept
return dict(allforms=allforms)
Then in views you will need to loop on allforms to make your form. You
will probably want a custom form and make sure you have a hidden input
with id=f['form_id']
Obviously, if the order of forms is important, you will want to modify
this code to make the forms into a list instead of a dict.
Hope this helps. Good luck.