The ISPs are not obliged to do this but the government (an elected government made up of two parties in coalition in a parliamentary democracy) has said that if they don't do so then it will aim to introduce legislation. It *cannot* be made mandatory without legislation.
So basically "Do it now by free will or we'll force you".
I think designing and writing code is a form of art, and you wouldn't tell a painter how to to draw his strokes, or a writer to always write sentences in a well defined style.
If they work by them selves, then fine, they can use their own style. However, if they work together, such as drawing one section each of a comic strip or writing separate chapters in a book, then you want them to use the same style. It will be a bit harder on them and they will lose some of their personal style but it will be much easier for the reader. And the same goes for code, I don't really care if curly braces are on the same line or not, if the fields are at the beginning or end of the class definition, but when it varies in the same project or even the same file, then it makes reading and comprehension much harder. And most code that is used has more developer time spent on reading it than writing it.
As for giving something away that originally cost a lot of money, do you never give anything away? I give away used electronics, clothes, toys and furniture. Some of it could probably be sold instead, but the effort of doing that is not worth it (for me). An easier option for me would be to just throw the stuff away and that might even benefit producers as some of the useful products would no longer be available, but this way there is a chance that they will be reused and benefit society as a whole.