Load all the layers you want to merge into QGIS. Head to 'Vector > Data Management Tools > Merge Vector Layers'. Click the '...' and select all the layers you wish to merge. Select a save location for the new merged layer and then run the tool.
Once the new single layer is loaded into QGIS it will be visible in a single default color (picked by QGIS). Right-click on the layer in the layers panel and open the layer properties. Under the style tab set the style of the layer to either 'Categorized', 'Graduated', 'Rule-Based'. In your case choose categorized. Here you can either select a column to style by (your vulnerability categories column in the attribute table), or even input an expression. Hit the classify button and the style will be loaded for you to play around with the colors of each category. Once all done you'll will end up with a merged single layer, styled with multiple colors of the vulnerability category's.
With the new edited question I believe there are three ways to accomplish this.
Method 1: Rasterize each of those 5 vector layers, using the vulnerability score (VR1 column) as the cell value. I'm assuming the score ranges from 0-6 (NA-Very high respectively). If not, ensure all your vector layers are using the same quantifiable scoring method. Then use 'Raster > Conversion > Rasterize'. For each layer set the attribute field as VR1 and set the raster resolution the same for all the layers. I've not done any work around Africa so not sure on an appropriate resolution (your pics tell me its about 7000km tall and wide so maybe a 5km or 10km resolution could be appropriate, but I honestly don't know). Once all layers are rasterized use the Raster Calculator and add them all together. This will add each cell value together and the final product being a single raster identifying total vulnerability. Once that's complete open up the layer properties and style using pseudo-color and play around with the colors and ranges. You might have a black box around the whole of Africa, but you can either set that particular value (if its nodata or something else) to a transparent or white color for it disappear.
This method will allow you to create a map similar to your image 2 but looking at image 1 your data won't come out like at because your vector layers follow the countries shapes. So method two could be more appropriate.
Method Two: Just like in method one, make sure the VR1 column is a numerical value. Essentially what you're trying to do is to get all the VR1 columns from the five layers into a single layer. This can be done using 'Vector > Data Management Tools > Join attributes by location'. Choose one layer to be your "Target" and then repeatedly run this tool to add the other 4 layers to that first one. You should end up with the attribute table with 5 VR1 columns (probably renamed to VR1_1, VR1_2, VR1_3,...). Open the field calculator and create a new column called Total_VR. Set the field type to integer (or decimal depending on the values your using) and set the field length to be large enough to accept the total value. Then in the expression add all the joined fields together:
VR1 + VR1_1 + VR1_2 + ...
Run the field calculator and you will have a new field with the total vulnerability which you can now style in the method explained in the first edit of my answer.
Method 2b: Something that could be a little faster than 'Join attribute by location' would be to just join the layers together. Again select a primary layer and open up the layer properties. Select the 'Joins' tab and add a join using the country name, select the fields you want to join (namely VR1) and possibly choose a better prefix if you wish. Once all the layers are joined just use the field calculator and style as explained above.