As you pointed out this is not a case that preemption would help. The preemptive constraint is often used where we are still allowed to split a job/task if another job/task with higher priority needs to be processed on the same machine/resource. In this case, the on-hand processed task would be stopped or moved to another machine/resource (splitting the processing task) to process the new one with higher priority.
Now, I assume there are no other constraints on the problem you mentioned. The scheduling model you are having is a variant of the Parallel machine scheduling problem with the resourced constraints. $ \text{P}_{m} || \sum w_{j}c_{j} \ Or \ C_{max}$. Also, As far as I know, the problem is classified as NP-Hard in the Ordinary Sense$^1$.
The $ \text{P}_{m} || C_{max}$ can already be solved efficiently by applying LPT (The Longest Processing Time first) rule. Also, one of its practical forms in presence of the machine eligibility constraint would be LFJ/LFM (the Least Flexible Job/Machine first). Besides the mentioned algorithms it would be worth taking a look at MILP, CP, etc. to solve such a problem in an optimal sense.
To assign employees to the machines in each shift, either rough cut capacity planning (RCCP) or the simulation method would be useful. Please, be aware that it is still usual that at the end of each shift, some WIPs/jobs would be remaining or being under process till another operator comes to complete that. Such times are often called the chang-over time and can be assumed as planned stop time.
$^1$ - Scheduling Algorithms