Edit. In the comments to this answer, Mark Sapir writes, "This does not seem to answer the question. The OP likes idempotents and does not like units." So, let me try to clarify why this is an answer to the question, though not the only one possible (I'll continue with the same notations used in the above).
Given $x \in H \setminus \{1_H\}$, we denote by $\mathsf L_H(x)$ the set of all $k \in \mathbf N^+$ for which there exist atoms $a_1, \ldots, a_k \in \mathbf N^+$ such that $x = a_1 \cdots a_k$. Moreover, we take $\mathsf L_H(1_H) := \{0\}$. It can be proved (this is not for free) that ${\sf L}_H(u) = \emptyset$ for every $u \in H^\times \setminus \{1_H\}$. In addition, it is straightforward that
$$
\mathsf L_H(x) + \mathsf L_H(y) \subseteq \mathsf L_H(xy),\ \text{ for all }x, y \in H.
$$
Lastly, $H$ is a BF-monoid iff $\mathsf L_H(x)$ is finite and non-empty for every $x \in H \setminus H^\times$.
With this in mind, assume $H$ is a reduced BF-monoid, so that $\mathsf L_H(x)$ is finite and non-empty for all $x \in H$. Accordingly, pick $\bar x \in H \setminus \{1_H\}$, and let $n_{\bar x}$ be the maximum of $\mathsf L_H(\bar x)$. If $m$ be an integer $\ge 1 + n_x$ and $\bar x = x_1 \cdots x_m$ for some $x_1, \ldots, x_m \in H$, then
$$
\mathsf L_H(x_1) + \cdots + \mathsf L_H(x_m) \subseteq \mathsf L_H(\bar x),
$$
and hence
$$
\max \mathsf L_H(x_1) + \cdots + \max \mathsf L_H(x_m) \le \max \mathsf L_H(\bar x) = n_{\bar x},
$$
which is possible only if $\mathsf L_H(x_i) = \{0\}$, and hence $x_i = 1_H$, for some $i \in [\![1,m]\!]$. []