3 nodes in the cluster, 2 data and 1 master - why if one fails it takes the whole cluster down?

If you have a single master and it goes offline writes will no longer be allowed. If you make your two data nodes master eligible as well so you have 3master eligible nodes it should be able to handle one if the nodes going down without blocking writes.