-면 signifies a condition, like "if", while -도 is like "as well / that too" or "even if". The exact nuance is hard to explain.
- 하면 돼요 = If you do it, it will do/work/be good => You can go ahead and do it (simple forward logic).
- 해도 돼요 = Even if you do it, it's okay/not a problem => You're allowed to do it (includes a sense of permission).
-면 is thus straightforward cause and effect, whereas -도 focuses on being inclusive of the case, like "That ALSO is okay/permitted (in addition to others that are okay)".
For example, if you were stopped by a security guard and you think it's okay to go now, you might say:
- (이제) 가도 돼요? = Am I allowed to go (now)? (cautious)
- (이제) 가면 돼요? = Should/Do I go (now)? (more straightforward and aggressive)
If you're asking someone whether you can visit them now (i.e. if they are ready for you), you'd say:
- 지금 가면 돼요? = Shall/Do I come now? (straight asking)
- 지금 가도 돼요? = Are you okay if I come now? (more thoughtful about the their situation)
The difference in these examples are not so big though. You can say either with more or less similar effect.