How to disable First and Last name in the User Account Service?

It all depends on the time you’re willing to spend and the requirements of your project.

If your application is in the context of an enterprise than you probably wan’t to leave these fields enabled because it’s an enterprise, you need an account so you fill it in.
If your application is something public and you need to attract users than you want a fast registration process and don’t ask too many questions upfront.
These are probably the main use cases but there will be a lot more.

In both situations you will need the first and last name at some point because we need those things to get more personal with our users. Personalized emails, messages and so on.

My use case for example is an SPA which will be the main thing users will spend their time on after registration. I have my own profile page in that app which also contains some personal details like first and last name. These details are saved in my own DB. But when changes happen on email, first or last name I push them back to Keycloak from my own API so Keycloak has the actual information.
I will probably hide certain parts of the account page in my custom theme as I don’t want users to change things there and will change certain things from my own app as this gives a more needless integration of things.

At the end of the day you are free to do what you want and have access to the source code of the whole thing so that’s a plus. But again, this all depends on your needs.

Some or most enterprises will probably have their own build because they require changes and fixes faster than the default release period. They also have a couple of persons in charge to keep up to date with latest bugs and fixes and especially CVE’s so that they can react fast if necessary.