Normally the author of a work can license it under more than one of the open source licenses you mention (so called dual licensing). However there seems to be an issue with doing so under the referenced ACM editorial policy, which states that you would be obliged to transfer copyright ownership on published "algorithms":
Authors of copyrightable algorithms (or their employers) are required
to transfer the copyright to ACM upon acceptance of the algorithm for
publication, in accordance with ACM policy to own copyright on ACM
The policy (and the ACM Software and Copyright and License Agreement) go on to state that it "grants authors the right to reuse their material, and also grants liberal permission for the reuse of the associated software for noncommercial purposes." This restriction to noncommercial purposes would then prevent the author (IMHO, IANAL) from relicensing under the open source licenses mentioned in your question, as these do not permit a distinction between commercial and noncommercial use.
A possible resolution may be found in the detailed discussion of ACM Copyright Policy:
In special cases where an author or author's employer must retain
copyright, or when ACM does not wish to give its imprimatur to a
particular work, ACM may accept a release from the owner that grants
ACM the permission it needs to publish the work.
I have no idea how often such exceptions might be granted for publication. If I were trying to seek such an exception, I'd probably argue that I'd already licensed the software under one of those open source licenses, and that the ACM could instead have copyright in the derivative work created by publication of the article.
I did mention IANAL (I am not a lawyer)?