Is it mandatory to load the index template into Elasticsearch manually when using filebeat?

It depends on where you are writing the Filebeat data to and whether the index template you have contains the appropriate mappings for the Filebeat fields. To be safe I would follow the directions.

My recommendation is to install the index template provided by Filebeat and write your data into the prescribed filebeat-<version>-* indices. Basically following the documentation and using the defaults. So you would manually load the Filebeat template as per the instructions. This template will apply to indices matching filebeat-6.2.4-*.

Then configure Logstash to output the beat data with this config.

output {
  elasticsearch {
    hosts => "localhost:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" 
    document_type => "%{[@metadata][type]}" 
  }
}

If you make any adjustments to index naming pattern then the template also needs to be changed.