Merge two queries of entries ordered by publication date
You can probably use the relatedTo parameter with multiple relation criteria:

{% set entries = craft.entries.section(['news', 'press']).relatedTo('or',
    { targetElement: newsTypeCategory, field: 'newsTypeCategoryField' },
    { targetElement: pressTypeCategory, field: 'pressTypeCategoryField' }).order('postDate desc') %}


Note that newsTypeCategory and pressTypeCategory should be category IDs (or CategoryModels) so you might need to pull the relevant categories as well:

{% set newsTypeCategory = craft.categories.group('newstype').slug('someslug') %}
...


Also note that you'll obviously need to change the field values to the real handles for your Categories fields, in the example criteria above.

An alternative approach is to use the SuperSort plugin to sort two arrays of entries on the postDate attribute:

{% set newsEntries = craft.entries.section('news').relatedTo(newsTypeCategory) %}
{% set pressEntries = craft.entries.section('press').relatedTo(pressTypeCategory) %}
{% set allEntries = newsEntries|merge(pressEntries)|supersort('sortAs', '{ postDate }') %}