Here's a picture of what I have been doing. The wire frame on top is actually transparent steel. When I ran the thermal simulation for the first time, there was none of the copper towards the top. The very first time I ran it, the maximum temperature was 150 degrees celsius, way higher than the point of failure for the IC units. The second time, I added some small details like a few copper rods going through the IC units and distributing the heat throughout the copper layers of the board itself. The second simulation was better than the first and the maximum temperature was 130 degrees. Still too high, but a definite improvement. So I added a copper heat spreader that is attached to the IC units with the highest power outputs. The intention was to distribute some of the heat to the copper and to the stainless steel cover. However...the maximum temperature was higher than the second simulation. It might have been lower than 150 degrees but I cut off the simulation when it hit 135 degrees celsius. What's the reason behind this? I'm almost positive it's something I done incorrectly but I don't know which inputs were different. Solutions? Ideas?

Sounds like intuition regarding the design rather than hand calcs or physical testing. With that, I would suggest breaking your problem down into smaller chunks. Chunks that you have results for to gain confidence in the software ability to give accurate results. This will also help you understand how to setup the problem to get accurate results.

Without more info about the setup it is hard to guess at the problem. Here are potential issues: