Не совсем так. Имя - первое слово после "Miss", "Mrs", если в строке нет круглых скобок.
В целом самый простой вариант для этого задания - выкинуть все до точки, и посмотреть каких слов больше, не разбираясь имя или нет.
Достаточно предположить, что самое распространённое имя встречается чаще самой распространённой фамилии :)
Что-то вроде:
female_names = ['Nasser, Mrs. Nicholas (Adele Achem)', 'Sandstrom, Miss. Marguerite Rut', 'Bonnell, Miss. Elizabeth']
names = {}
for name in female_names:
for word in a.split('.')[1].replace('(', '').replace(')', '').split():
names.setdefault(word)
names[word] += 1