Depending on your actual goal, there are several possibilities. Load balancing your flows 'at will' requires them to be split across different VLANs or very delicate fine tuning.
VLANs with spanning tree
Using MSTP with multiple instances or RPVST+, you can arrange/configure your VLANs onto both links and then connect the switches redundantly but with dedicated links for each VLAN group. In case of a link failure, the disconnected VLANs can use the remaining link.
To configure, set the links as VLAN trunks and use the same tagging scheme - don't connect yet.
With MSTP, set up two instances and group your VLANs according to the desired distribution. Most simply, use one instance for VLAN 1 and the other for VLAN 2. Configure each link port to use one of the instances. MSTP will build a separate spanning tree for each instance, forwarding only over the desired port (unless the other link fails).
With RPVST+, you configure each VLAN's priority on each port and (pretty much) draw the traffic to that link.
VLANs without spanning tree
You could simply connect different VLANs across both links and deactivate spanning tree altogether. Note that there is no loop protection and no failover this way - not really recommended unless you want an simple setup.
LAG without VLANs
Setting up a link aggregation group/Etherchannel you'd need to select the port traffic distribution algorithm or change the MAC/IP addresses/port numbers that result in your optimal flow balancing. This may sound the easiest but is actually the hardest to do outside a lab.
We were using this variant for load balancing our Veeam backup streams across both core switches with only gigabit links with LACP - the backup flows use a special subnet with hand-picked IP addresses to optimize the flows.
(This is included for completeness - since your question is about using separate ACLs, LAG won't work as you've already stated.)