You can submit multiple Records for approval, sample code below.
List<Approval.ProcessSubmitRequest> requests = new List<Approval.ProcessSubmitRequest> ();
for (Id oppId: opportunities) {
Approval.ProcessSubmitRequest req1 = new Approval.ProcessSubmitRequest();
req1.setComments('Submitting request for approval ');
req1.setObjectId(oppId);
requests.add(req1);
}
Approval.ProcessResult[] processResults = null;
try {
processResults = Approval.process(requests, true)
}catch (System.DmlException e) {
System.debug('Exception Is ' + e.getMessage());
}