Set fields from two different Matrix blocks, merge them and then set the output in a pretty way
I think your problem might be that you're overwriting the metaDescribe variable on each iteration of your for loop at the end of your first example. Given that you know you'll only be dealing with two blocks, you could try replacing the loop with something like this:
{% set metaDescribe = artNameMat[0].artistName ~ ' ' ~ '(' ~ artNameMat[0].birthDeathLocationDate ~ ')' ~ ' ' ~ artNameMat[1].materials ~ ' ' ~  artNameMat[1].dimensions  %}

[Aside: it may also be worth revisiting your content model, as it sounds a little convoluted! Investigate the possibilities of moving some pieces of content out into dedicated sections or category groups and using relationships to tie everything together.]