Python 2, 128 96
I was hoping tonot to have to use itertools
a=lambda a:"".join([i for i in reduce(lambda: b,c:b+c, map(None,*map(lambda m:list(m),a)) if i])
Ungolfed
a=lambda a: #Start a lambda taking in a
"".join( #Join the result together with empty string
[i for i in reduce( #For every item, apply the function and 'keep'
lambda: b,c:b+c, #Add lists from...
map(None,*map( #None = Identity function, over a map of...
lambda m:list(m), a) #list made for mthe strings m
) if i #truthy values only (otherwise the outer map will padd with None.
])