Be careful not confuse "threads" with "cores". Some setups will use hyperthreading to assign 2 threads per core; this is ok for office applications, but not HPC work. So, using mpiexec -n X, the number X should never exceed the number of physical cores. This may only be 8 in your setup.
Also, having a single machine means your X processes now need to use the same RAM, so if a calculation takes 8 GB in serial and you run X=8, be prepared that the calculation may consume 64 GB of memory. That is, for such a machine, get 128 GB of RAM, is my recommendation.
Now, "parallelize perfectly" depends very much on your problem - not all calculations parallelize as well, and sometimes you will be limited by memory, and so on. But generally you should have a good parallel benefit of such a machine.