There are operating system out there which just don't support providing both protocols over the same socket. There you can switch off IPV6_V6ONLY
as much as you want, it will have no effect.
If you want to stay compatible with these systems - Windows XP is an example - you'll have to work with two sockets.