How to create a multiple layer perceptron with layers of specific sizes in keras?
There may be quite a lot of reasons for this. As I understand you try to repeat someone's results, and all you know is the architecture. Your keras architecture seems correct, but you should also take into account:


Data - did the authors used data augmentation? 
Regularizations, such as dropout, L1, L2, batch normalization - that can significantly influence your results.
Other hyper-parameters, like optimizer, batch size etc. Did you do a grid/random search of those? 


If you took all this into account, provide us with more complete training code, so we don't have to guess.