Community detection in networks, namely the identification of groups of densely connected nodes, has received wide attention recently. A bipartite network is a special class of networks, where there are two types of nodes, and edges exist between different types of nodes only. In bipartite networks, there are two ways to define communities, i.e., the one-to-one correspondence communities and the many-to-many correspondence communities. The latter naturally represents the cluster structures in the bipartite networks. However, few methods aim at detecting the many-to-many correspondence communities. In this paper, we propose a multi-label propagation algorithm BiMLPA for this purpose. Our new algorithm overcomes the limitations of previous approaches and has several desired properties, such as speed and stability. Experimental results on both synthetic networks and real-world networks demonstrate that BiMLPA outperforms previous approaches. We provide source code at https://github.com/hbkt/BiMLPA.