The reason there is a greater chance in the Mary case, as opposed to the girl case, is that a family with two girls is twice as likely to name a child Mary as a family with only one girl (since they have two opportunities to name a child Mary instead of one).
In the first case, if we choose 1000 couples, on average we get:
250 with Boy/Boy
250 with Boy/Girl
250 with Girl/Boy
250 with Girl/Girl
Since we can eliminate the 250 Boy-Boy couples, the odds of Girl-Girl are 250/750 or ~33%
In the second case, lets assume that 10% of girls get named Mary. In this case we have:
250 Boy/Boy, of which 0 are Mary/NotMary and 0 are NotMary/Mary
250 Boy/Girl, of which 0 are Mary/NotMary and 25 are NotMary/Mary
250 Girl/Boy, of which 25 are Mary/NotMary and 0 are NotMary/Mary
250 Girl/Girl, of which 25 are Mary/NotMary and 25 are NotMary/Mary
Therefore, the odds of a Girl/Girl couple having a Mary is 50/100, or 50%