You need to set g:syntastic_aggregate_errors
option to 1 (it's default value is 0):
let g:syntastic_aggregate_errors = 1
This is from documentation:
When enabled, syntastic runs all checkers that apply to the current filetype, then aggregates errors found by all checkers and displays them. When disabled, syntastic runs each checker in turn, and stops to display the results the first time a checker finds any errors.