I will try to explain why this happened, and not just give you a solution.
You use nameinstead name_list, when name_list- this is what you are going to use.
name for 'Amanda Leigh Blount' = 'Amanda Leigh Blount'
but name_list = name.split() = ['Amanda', 'Leigh', 'Blount']
So, you get the difference in two only in the middle / last name.
The first name is equivalent for both:
name[0][0] == name_list[0][0]
The left side corresponds to the first letter of the first letter:
'Amanda Leigh Blount'[0][0] = 'A'[0] = 'A'
The right side corresponds to the first letter of the first word.
['Amanda', 'Leigh', 'Blount'][0][0] = 'Amanda'[0] = 'A'
But for the second:
name[1][0] != name_list[1][0]
because the first and second:
'Amanda Leigh Blount'[1][0] = 'm'[0] = 'm'
['Amanda', 'Leigh', 'Blount'][0][0] = 'Leigh'[0] = 'L'
So just use name_listinstead name:
first = name_list[0][0]
second = name_list[1][0]
last = name_list[2][0]