From what I can see there is a bit of noise effect in those pictures, there's a noise effect you can use in any Adobe Photoshop version.
If the pictures look like a caricature or illustration that can be achieved in any Adobe Photoshop version aswell but the best program to produce caricatures & illustrations is without a doubt Adobe Illustrator. In the filter gallery of Adobe Photoshop you have several effects that you can use to achieve this type of imagery, such as Poster Edges. Some filters in Photoshop will give you the option to add in noise which is the case in these pictures, they have a lot of noise and it actually makes it look nice.
I used the first image you posted as my model for the final look. Here are the steps:
This is an optional step. Duplicate the image to a new layer and apply a Surface Blur to smooth out the skin tones and give it a painted or posterized look.
On a new layer, add a Gradient Map (see tutorial below). For the two colors, I selected the orange and yellow tones from your first image. You can select any colors you want.
In this case, the Gradient Map colors seemed washed-out to me, so I experimented with layer blend modes. I used Overlay, which made the colors pop. You can experiment with other blend modes such as Hard Light or Linear Light.
Add a Brightness & Contrast filter and boost the contrast.
If you want, add some noise to your image to achieve the grainy effect.
Below are the Gradient Map tutorial and my Photoshop file where you can see the different layers.