This is [SObject default sorting][1]. As covered in that article, you can write a wrapper and implement Comparable to apply your own sorting (just using basic String comparison for the names will do what you want here).

IIRC, to change sorting in the UI without the need for Apex, add a formula field that takes the Name value and exposes it as a string, then sort using that formula field instead.

  [1]: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_list_sorting_sobject.htm