La expresión
name between 'A' and 'B'
es equivalente a
name>='A' and name<='B'
Entonces 'Argentina' es>='A' y <='B' y cumple la condición. Pero 'Bolivia' NO es <='B'. 'Bolivia'>'B'. No solo mira la primera letra:mira toda la cadena. Que es sin duda la forma en que debería ser:si no hiciera esto, no habría forma de decir que quería un rango que incluyera 'Smith' pero no 'Smithers'.
Para lograr lo que quieres, podrías decir:
substr(name,1,1) between 'A' and 'B'
o:
name like 'A%' or name like 'B%'
o:
name>='A' and name<'C'