I believe you are trying to compute the "sublattice of the boolean lattice of length m" generated by your n binary strings. I don't know a fast way to compute sublattices. In general, it is exponential in n.
Here is an example: For any positive integer n, and any positive integer m ≥ n, start with the binary strings of length m which are zero in position i for all i > n, and which are nonzero in all but one other place. There are exactly n such strings. How many strings do you have to add? 2n−n, since every string with exactly one nonzero entry (in the first n positions) is an AND of n−1 of the initial strings. This output is exponential length in n.
If you included "not" or otherwise included "xor", you would suddenly upgrade to finding "ideals in the boolean algebra" and this becomes linear algebra, and things like gaussian elimination should make the problem quadratic in n.
Of course the output itself could still be exponential in n, so you have to settle for a different, but very useful, kind of output: a basis.
As pointed out by Ross Millikan, the critical problem for a practical solution is a better data-type for the output. Just listing all the words is going to be exponential in general, but sometimes one could produce ridiculously fast membership test functions (and product them ridiculously quickly) — in my example, the membership function simply checks that the positions from n+1 to m are all 0.
However, no data-type can work magic. Depending on how many possible answers there are, the data-type will have to be at least a certain size. Queyranne–Tardella (2008) attempt to answer the question of how many sublattices are there and in fact study exactly the original problem. They provide a data-type for the output and prove it is memory optimal up to a constant factor:
Queyranne, Maurice; Tardella, Fabio. "Sublattices of product spaces: hulls, representations and counting." Discrete Math. 308 (2008), no. 9, 1508–1523. MR2392592 DOI:10.1016/j.disc.2007.03.080