It is certainly possible to have two aggregate filters in a pipeline. An example here shows how to join events together into aggregate events with a size limit.
However, the documentation says "all timeout options have to be defined in only one aggregate filter per task_id pattern (per pipeline)". I am wondering if that implies per task_id pattern and per pipeline are equivalent or whether it is saying that in each pipeline you can only have one aggregate with timeout options for each task_id pattern.
If you cannot get it to work then you could try using pipeline to pipeline communication with a forked path pattern. Possibly later using a collector pattern if you want a common output, or have common processing after the aggregation.