I believe the problem is actually a special case of a knapsack problem --- for $\vec c = (\log p_1,\dots,\log p_k)$, you have to maximize $\langle \vec x, \vec c\rangle$ subject to the constraints
- $\forall i : 0\leq \vec x_i \leq \vec e_i$, and
- $\langle \vec x, \vec c\rangle < \langle \vec e, \vec c\rangle/2$.
Written in this way, it is simple to see that this is a "special case" of a "bounded knapsack problem" (the bounded knapsack problem allows the constraint labelled 2 above to be of the form $\langle \vec x, \vec c\rangle < W$ for arbitrary $W$).
This is to say that it is at least closely related to an NP hard problem, but the above does not allow us to conclude that it is NP hard.
If you are fine with efficient approximate answers, being an instance of the bounded knapsack problem is good.
This is because the bounded knapsack problem admits an FPTAS, so for any $\epsilon > 0$, there is an algorithm that finds solutions within an $(1-\epsilon)$ factor of optimal in time $\mathsf{poly}(k, 1/\epsilon)$, so quite efficiently.
If you let $\vec x_{opt}$ be the optimal solution, this will approximation algorithm will return some $\vec x$ such that
$$(1-\epsilon)\langle \vec x_{opt}, \vec c\rangle \leq \langle \vec x, \vec c\rangle \leq \langle \vec x_{opt}, \vec c\rangle.$$
Rewriting back in terms of the inital problem, if $d_{opt} = \exp(\langle \vec x_{opt}, \vec c\rangle)$ is the optimal divisor, we will get a divisor $d$ such that
$$d_{opt}^{1-\epsilon} \leq d\leq d_{opt}.$$
This is already good enough to get an extremely accurate approximation to your problem.
In particular, choosing $\epsilon = \frac{1}{\log_2 N}$ (which will still yield a poly-time computation), we get that $\left(N/2\right)^{\frac{\log_2 d_{opt}}{\log_2 N}}$.
Under the (to me reasonable) assumption that $\log_2 d_{opt}\approx \frac{1}{2}\log_2 N$, we therefore get a divisor lower-bounded by the quantity $\sqrt{N/2}$, meaning nearly optimal. I don't know if a high-quality approximation is sufficient for your purposes though.