Is "two or zero" matching in a bipartite graph NP complete? I have this problem, which I haven't seen before in the literature: given a bipartite graph and a natural number $k$, can we select at least $k$ of the edges such that each left-hand vertex is incident to exactly two or exactly zero selected edges, and each right-hand vertex is incident to at most one selected edge?

Obviously if replace "two" with one we have the matching problem, which can be solved in polynomial time. I've tried in vain to solve my problem using network flow or matching, and am also stumped when I try to reduce from NP-complete problems.
The answer here seems to imply there is a more general result. For this particular case, here is a self contained way to reduce the problem to maximum weight perfect matching. Assume $k$ is even.

Given $G=(L\cup R, E)$, we construct a new graph $G'=(V',E')$ as follows, let $|R|=n$.


Add vertices in $R$ to $V'$.
For each vertex $v \in L$, add vertices $v_1,v_2$ to $V'$.
Add vertices $t_1,\ldots,t_{n-k}$ to $V'$.
Add edge $v_1v_2$ to $E'$ for each $v\in L$. It has weight $0$.
Add edge $v_iu$ to $E'$ for each $vu\in E$,$u\in R,v\in L,i\in \{1,2\}$. It has weight $1$.
Add edge $ut_i$ for each $u\in R$ and $1\leq i\leq n-k$. It has weight $0$.


Claim: The maximum weight perfect matching in $G'$ has value $k$ iff the "two or zero" matching has a solution of at least $k$ edges.