Last year’s ruling by the UK telecoms regulator, Ofcom, banned providers from charging for caller display facilities (full details). Various other changes were also included in this to help tackle billing accuracy, debt collection, nuisance calls, complaints handling and support for those with disabilities.
C6.2 Regulated Providers must provide Calling Line Identification Facilities, and enable them by default, unless they can demonstrate that it is not technically feasible or economically viable to do so.
C6.3 Regulated Providers must inform Subscribers if Calling Line Identification Facilities are not available on the service they are providing to those Subscribers.
C6.4 When providing Calling Line Identification Facilities, Regulated Providers must: (a) ensure, so far as technically feasible, that any CLI Data provided with and/or associated with a call includes a valid, diallable Telephone Number which uniquely identifies the caller; and (b) respect the privacy choices of End-Users.
C6.5 Regulated Providers must not charge Subscribers any additional or separate fee for access to or use of standard Calling Line Identification Facilities.
"... unless they can demonstrate that it is not technically feasible or economically viable to do so."
"ensure, so far as technically feasible,"
No free service is economically viable so the overall price has to rise. Since many (most?) nuisance calls originate in another jurisdiction, it's probably very difficult - even impossible - for UK providers to ensure disclosure of the actual number the caller is dialling from. For example I got a call recently showing up as an 0800 number, then yesterday a call which, according to whocallsme.com, was identical showed up as an 0801 number. My telephone provider has a pdf file of 1060 pages listing all number prefixes and not a single one starts with 0801!