I'm going to suspect 3rd party RAM
Memory Module: BANK 0/DIMM0, 16 GB, DDR4, 2400 MHz, 0x859B, 0x435431364734534644383234412E433136464244
Memory Module: BANK 0/DIMM1, 4 GB, DDR4, 2400 MHz, 0x802C, 0x344154463531323634485A2D3247334232202020
Memory Module: BANK 1/DIMM0, 16 GB, DDR4, 2400 MHz, 0x859B, 0x435431364734534644383234412E433136464244
Memory Module: BANK 1/DIMM1, 4 GB, DDR4, 2400 MHz, 0x802C, 0x344154463531323634485A2D3247334232202020
Each and every one of your Panics are different. And in 2 of the cases they are memory related.
Bad tailq elm
is staying an address in a linked list is not properly formed.
Spinlock acquisition timed out
is an in-memory abstraction that allows multiple processes to make sure they sequence access to some critical data structure. If the memory location acting as the spinlock drops a bit, it may be the bit that says the lock is unlocked, so the waiting thread(s) would spend too long checking the spinlock memory location looking for that bit to get properly set.
Or the thread that has taken control of the spinlock, dropped a bit in the spinlocks address, and released the wrong memory location.
You can try running Rember, but if it DOES NOT find anything that does NOT mean your memory is not bad, as the bad memory could be in use by the operating system, and not being tested by Rember. But if it does find something, you can present that information to your 3rd party RAM vendor
https://www.kelleycomputing.net/rember/
Suggest booting int Safe mode to get the maximum amount of RAM to Rember for testing. Also set the repeat count to maximum and let it run overnight.