The answer is "not necessarily." The names make them seem closely related, but not so much.
max_wal_size is all about checkpoints. When the WAL exceeds this, Postgres will try to run a checkpoint. Under some circumstances it won't, but let's keep it simple for now.
wal_keep_size is all about replication. Replicas need WAL files to stick around for long enough that they can process them. wal_keep_size is a minimum figure.