This is a partial answer. In general we can manage $k = n$ with $W = [x_0, x_1, \ldots, x_{n-1}, x_0 + 1, x_1 + 1, \ldots, x_{n-1} + 1]$. Then the products which must be non-zero are $\prod_i (x_i + a_i)$ for all $\vec{a_i} \in \{0, 1\}^n$ and each is a sum of monomials containing at the very least $\prod_i x_i$. ---- Assume for the moment that $K$ has a set $B$ with $|B|=2^n$ such that $$\forall a \in K: \exists B_a \subseteq B: a = \prod_{b \in B_a} b$$ Then the multiplicative monoid of $K$ is isomorphic to the monoid whose elements are subsets of $[|B|]$ and whose operation is set union. Denote $[|B|]$ as $M$. The construction of $W$ can be rephrased as two injective functions $w: [k] \to 2^{M}$ and $\overline{w}: [k] \to 2^{M}$ such that their images are disjoint and $\forall i \in [k]: w(i) \cup \overline{w}(i) = M$. Then the condition is that for every $S$ in the Cartesian product ${\large\times}_i \{w(i), \overline{w}(i)\}$ the union ${\large\cup} S \neq M$. Let's break the Cartesian product down: let $P_j = \{ \cup s: s \in {\large\times}_{i \le j} \{w(i), \overline{w}(i)\} \}$, so that the condition is that $M \not\in P_k$. We prove by induction that $\max_{p \in P_j} |p| \ge 2^n - 2^{n-j}$. * Base case: $j=1$. Then $P_1 = \{w(1), \overline{w}(1)\}$ so $\max_{p \in P_j} |p| \ge \frac12 |M| = 2^n - 2^{n-1}$. * Inductive case. Let $q$ be an element of $P_{j-1}$ for which $|q| \ge 2^n - 2^{n-j+1}$. Either at least half of the elements of $M \setminus q$ are in $w(j)$ or at least half of them are in $M \setminus w(j) \subseteq \overline{w}(j)$. Therefore at least one of $q \cup w(j)$ or $q \cup \overline{w}(j)$ meets the indicated threshold. Therefore $P_{n+1}$ must contain $M$ and *under the assumption of the existence of set $B$* we require $k \le n$. ---- I strongly suspect that the assumption is a theorem already in the literature, but I don't know where to look for it. For $n=2$ I can exhibit $$B_2 = \{x_0 x_1 + 1, x_0 x_1 + x_0 + 1, x_0 x_1 + x_1 + 1, x_0 x_1 + x_0 + x_1\}$$ and for $n=3$, $$B_3 = \{x_0 x_1 x_2 + 1, x_0 x_1 x_2 + x_0 x_1 + 1, x_0 x_1 x_2 + x_0 x_2 + 1, x_0 x_1 x_2 + x_1 x_2 + 1, x_0 x_1 x_2 + x_0 (x_1 + x_2 + 1) + 1, x_0 x_1 x_2 + x_1 (x_0 + x_2 + 1) + 1, x_0 x_1 x_2 + x_2 (x_0 + x_1 + 1) + 1, x_0 x_1 x_2 + x_0 x_1 + x_0 x_2 + x_1 x_2 + x_0 + x_1 + x_2\}$$