I am currently on vacation and can‘t really help a lot, but in principle, my CAN lib also works between G431 and ESP32 (I use it like that myself). Have you tried the demo program? That should work as well across platforms.
In such cases, it helped me a lot to use a simple scope/logic analyzer and some tools to trace the protocol on the bus. Are voltages etc. compatible between your devices (e.g. 3.3V vs. 5V)? Is your bus termination correct? It sounds a bit as if you would be somewhere near allowed tolerances.
If the issue is that only motors of the same type can communicate with each other, it is highly likely that the problem lies with the CAN transceiver. This would explain why motors with the same transceiver communicate well, while those with different transceivers experience issues. You should verify that all transceivers operate at the same voltage level. If I recall correctly, the SN65HVD230 operates at 3.3V. If you place it on the same bus as transceivers operating at 5V, it is very likely they will not communicate correctly.