Let's separate DEFLATE, as a compression bitstream format described in https://www.ietf.org/rfc/rfc1951.txt from zlib, which is implementation of algorithms to encode and decode such bitstream.
Then, DEFLATE certainly can represent, and compress, concatenation of 2 strings. Why zlib doesn't do that? Well, because match searching for LZ77 compression is inherently heuristic task, so some choices won't be explored, even those which seem obvious to a human.
Using a trivial hash-based LZ77 encoder, double-string case is easily found:
L6c # l
L61 # a
L74 # t
L65 # e
C-4,4
And this sequence can be encoded with static zlib encoding without problem, result is:
CB 49 2C 49 05 61 00
This bitstream also can be decoded without problem by zlib. You can try that using Python:
import zlib
import binascii
zlib.decompress(binascii.unhexlify("CB492C49056100"), -15)
So, what version of zlib did you use? Maybe it was too old?