The reasons are essentially to do with ABZ's location compared to other UK airports and the popular destinations served by loco's.
It's also a lot to do with the economics of locos and the need to utilise aircraft optimally - ideally for 8 sectors per day each of 90 minutes or so.
Usually this is achieved by flying a mixture of short sectors (40-60 mins) and longer sectors (up to 2 hrs). In most UK regional airports this entails a mix of domestics and Med destinations with possibly a few city-break destinations thrown in.
In ABZ's case many of the domestic points are served by aircraft based elsewhere and the international points are 30-40 mins further away making scheduling based aircraft efficiently difficult.
There is also the issue of the oddity of passenger behaviour with respect to prices. A passenger travelling say to PMI will want to pay broadly the same regardless of point of origin so if you are an airline looking for a base, BOH or BRS would make far more sense than ABZ which is almost an hour further away but will not enjoy a significantly higher yield.