Two main reasons.
Firstly sms codes are advertised on the bus stops, so it’s public information and in my opinion a short and effective way to uniquely identify a stop. I like to provide the user with the possibility to add a stop to the favourites using the sms code (among other possibilities) for example or I want to show the sms code in relevant screens( nearby stops, bus routes etc).
Secondly other cities use a similar identifier (usually 5 digits) and sometimes it’s the only way to identify stops. The business logic of the app and the user interface as well in my case take advantage using this common identifier.
So in short internally the app could use naptans but I want to keep this useful piece of information for the public.