Your vpd is sky-high. it's a bit too warm, like others said.
If you can cool it a few degrees and get your atmospheric vpd closer to 1.2-1.3 (it's lower at leaf due to cooler temps around leaf, -4-5F offset, reference VPD chart) You may not have to adjust anything else. A little high RH will mitigate at least some portion of what is causing this, all other things remaining the same. Even so, i'd still reduce temp a few degrees if you can. 83F would be better.
More efficient lights would reduce heat while maintaining same DLI, but that's a thought for the future. Probably cut 5-7F off with 2.8umol/J efficacy lights.
The other danger of high temperature is the high absolute humidity. As temps drop, RH% has the potential to skyrocket and hit dewpoint at fairly high temps, like 70-72F. When this happens it's a very very high risk of WPM getting a foothold with consistent condensation potentially occuring after lights go out every day.
Can't easily find good info on the cr600 light. if it's 588 lm301 diodes, it's overkill, lol, but that's a good thing if so, but not likely the case because it is overkill and would impact profit margin. So, assuming it's a lower efficiency light. figure 2 sq ft under 1 of those lights (possibly slighty smaller, but matter of and inch on LxW at most) and slightly rectangular footprint proportional to diode layout. 18-20" should be fine for this light. "Sanan" LED .. might be a licensed knockoff of a sammy or osram chip?
more likely the heat than the light. Those numbers and footprint above are for 12/12 light cyce, so in vege operating 18hours a day you'd want about 65-70% power, all other factors the same. when you go to flower, then you want 100% power. It is inversely proportional to hours of operation 18h - 12 requires 150% to maintain same DLI as before. 1.5 * 66.67 = 100%. different operating hours would need different math. Also, the DLI target is 35-40 with ambient co2 and some local tweaking necessary to dial it in for your local variables. your "max dli" will be different than someone else's due to different local variables, but it's a good ballpark to start.