Latest version of glibc is 2.41, released 2025-01-30. That puts 2.31 at least 10 releases behind. That version is quite outdated. There are numerous security and bug fixes in 2.31 alone, with each newer release also fixing some as well.
This might be the reason for requiring glibc 2.31 and newer:
Security related changes:
CVE-2019-19126: ld.so failed to ignore the LD_PREFER_MAP_32BIT_EXEC
environment variable during program execution after a security
transition, allowing local attackers to restrict the possible
mapping addresses for loaded libraries and thus bypass ASLR for a
setuid program. Reported by Marcin Kościelnicki.
The changelog for 2.31 is here:
https://sourceware.org/legacy-ml/libc-announce/2020/msg00001.html
Latest version of glibc is 2.41, released 2025-01-30. That puts 2.31 at least 10 releases behind. That version is quite outdated. There are numerous security and bug fixes in 2.31 alone, with each newer release also fixing some as well.
This might be the reason for requiring glibc 2.31 and newer: