Having a fair number is pretty normal. You will never get 40 or those kind of low numbers due to the architecture behind it all.
You can however reduce this by making more use of material instances, ensuring the materials are super mobile and 2D optimized (unlit works best, which you might already have), and look for any content that is referenced but shouldn’t be. The engine has a fair number of editor and behind the scene content which could also create shaders.
You can use the statistics window on the current level, or even on the Cooked data to see what exactly was cooked in. You can also go through the Saved\Cooked folder to see which files it made in Windows to get an idea.
If you see things you think it should not include you could manually look for the reference to get rid of it, or try some of this: https://docs.unrealengine.com/latest/INT/Platforms/Android/ReducingAPKSize/
On mobile it might also be building many shaders because of having selected many different texture formats or render settings because it then has to go and prepare content for all the different usage scenarios or features. Go through the project settings and disable all mobile relevant render/texture things you do not want. For example reducing the dynamic pointlights simplifies shaders, and there are a few more such settings I can’t recall of the top of my head right now.