"Bengali" is the English name used on Bangla language in colonial period.
"Bangla" is the name used by most native speaker.
In the project i work on I made a group named "Bengali" but I noticed that the translators used the name "Bangla". I asked and I got this answer:
Bengali VS Bangali VS Bangla >>
Bengali = It is the way English language speakers say. It can meant in two ways.
(i) Addressing the people of either Bangladesh or West Bengal (India).
Example: "Are you Bengali" ? -> Means, "Are you Bangali" ?(ii) Indicating the Language.
Example: "Do you speak Bengali" ? -> means "Do you speak Bangla" ?Bangali = Indicates the ethnic group. It is the way people of this Sub-continent say.
Now, traditionally,
People from Bangladesh call themselves 'Bangladeshi', 'Bangali' and
People from West Bengal (Kolkata), India call themselves 'Bangali'
but the meaning of the word 'Bangali' is same, that is 'Who speaks the language Bangla' (basic form).Bangla = Indicates The Language spoken by people from Bangladesh and West Bengal (India)
Bangla is also the name used for the language in the constitution of Bangladesh:
http://bdlaws.minlaw.gov.bd/pdf_part.php?id=367 (Click on "The state language")