It would help to have counts of the total number of possible machines and processes. The second matrix looks to be kind of misleading since it consists entirely of zeros and ones. I've assumed in my answer that a fully realized matrix might contain some zero values but also have many cells with values greater than one representing the frequencies of occurrence of these machines across the processes. To be clear, I'm assuming that, e.g., m1 has more than one occurrence in your data, or alternatively, that there is more than one machine named m1. If the resulting matrix is, indeed, all zeros and ones with only one occurrence for each machine-process combination, then the question seems kind of silly.
I know you seem to want to fix the resulting cluster sizes, but aside from asking the obvious question why you want to do this ("I don't" above?), especially given the likely wide asymmetries in machine use of these processes. Some algorithms naturally tend to generate roughly equal sized partitions, e.g., Ward's Method but none of the algorithms that I'm aware of allow you to "fix" their sizes to be equal. This doesn't mean they don't exist, but having been a student of clustering and multidimensional scaling routines (a technique strongly related to clustering, moderators) for years, I'm not aware of any. That said, it would be possible, post-hoc, to adjust the resulting cell sizes to symmetry based on optimizing some multivariate distance function. Of course, you would destroy the properties inherent in your algorithmic solution in doing so. Again, why is this a needed restriction? Please clarify your motivation for this as a requirement or clearly eliminate it as a spec to the answer (moderators go off when posted answers don't specifically address a question, whatever that means).
That said, there are lots of ways to rescale the resulting data matrix for use in the plethora of possible clustering, multidimensional scaling and unfolding routines: these are definitely not limited to just k-means or hierarchical algorithm(s). Canonical discriminant analysis is one approach that would readily capture the two-mode nature of the information in your second matrix (machine by process frequencies). Other, even older approaches were developed at Bell Labs, Rutgers and U North Carolina's Thurstone Lab beginning back in the 50s and 60s by people including Kruskal, Carroll, Young, and Arabie, to name a few. Their algorithms include ALSCAL -- alternating least squares which dates back to Young but still sees wide use today in, e.g., machine learning approaches to collaborative filtering; KYST -- link to its manual here: http://www.netlib.org/mds/kyst2a_manual.txt; and IDIOSCAL -- individual differences scaling: http://www.netlib.no/netlib/mds/idioscal.f.
The key things across all of them are, first, the algorithm and its assumptions and, second, the scaling of the input matrices into the algorithm(s). For instance, you can use one big matrix representing the similarities (differences) in frequency of process occurrence between machines. This kind of matrix could be used, e.g., in a canonical discriminant analysis. If you have any additional information, e.g., the locations for these machines, timing of the adoption of different processes or, perhaps, some underlying adoption diffusion curve, this would change the shape of the matrix. Again, depending on the type of ancillary information available, it could be that you could expand the information for each machine by several more levels based on machine-specific replications over time and create an individual differences type of matrix that would be appropriate for an IDIOSCAL type routine. One caveat to the use of some of these algorithms is that they all rely on some type of dimension reduction in arriving at their solution: ALSCAL, in particular, is vulnerable to flipping dimensions over the differing inputs.
At the end of the day, there is no single, ideal, best, much less true answer to your question. You will need to play around a bit with the various options and find one which gives you a reasonable answer. Reasonable being subjectively defined and determined since none of us can tell you what this means.