Ah!
So the issue is going to be that combine networks track clients by MAC address and your L3 switch is creating a L3 boundary between the client and the MX.
THIS KB has more info as to why the problem is occurring as well as instructions on how to fix it. To summarize, having a L3 switch between your clients and MX means that all traffic sent through that L3 switch will show with the switch's MAC address as the source (Normal L3 boundary behavior) on the MX's side. Since the network is tracking clients based on their MAC address, this means that the MX thinks all traffic coming through the switch belongs to the switch and not individual clients.
To fix this issue, all that needs to happen is the following:
1 ) Split the MX into its own network [Relevant KB] (Switch, APs, etc. can remain combined)
2) Set MX's network to track by IP [Relevant KB]
3 ) MX should now be able to identify clients based on their unique IPs rather than MAC address and you should be able to assign per client policy
NOTE: For this to be effective, you will want clients to keep their IP addresses. Static IPs or fixed DHCP IP assignments are definitely recommended
Hope this helps! 😃