I think that the problem resides in the fact that I'm using your scripts from the genre tagging topic, and in particolar to the one that unsets all tags apart from genre.
The script prevents <title> to be updated or overwritten.
If you remove the entry $unset(title) from the script, Picard will show the titles. (and update them when there is a difference)
You can then also add 'title' to Options > Tags > Prevent these tags from being cleared or overwritten…
Then they will show, but not get updated.
There are some problems with track length: in some songs, its value would be brown, so I think it would overwrite it when I click on save.
There will very often be small variations in the duration of tracks.
It can depend on thing such as how your files have them calculated, or e.g. small differences between releases. (some may have a few seconds of silence added to a track)
The 'length' fields are to be considered a helpful indication.
It wouldn't make sense to have Picard overwrite the duration information that is in your files, since the one in your files will (usually be) be correct.
By the way, Picard has a very extensive tutorial available:
https://picard-docs.musicbrainz.org/en/index.html , and they also have an active forum that will contain answers to a lot of questions. There are also some very knowledgeable and helpful people over there.
edit:
Looking at the screenshot it looks like you are using id3v2.3, and not 2.4?
Maybe you are doing that on purpose, but be aware that your genres will now not be 'proper' multi-value tags using semicolons.