Как инициировать v-for цикл для div с html внутри?
Положите рядом (в смысле - сделайте свойствами одного объекта) шаблон и данные, которые в него будут засовываться. Т.е., вместо нескольких массивов должен быть один, типа так:

data: () => ({
  blocks: [
    {
      template: '<div><ul><li v-for="n in data" v-html="n"></li></ul></div>',
      data: [
        '<h2>Заголовок 1</h2><p>какой-то текст 1</p>',
        '<h2>Заголовок 2</h2><p>какой-то текст 2</p>',
      ],
    },
    {
      template: '<div><h3 v-for="color in data" :style="{ color }">{{ color }}</h3></div>',
      data: [ 'red', 'green', 'blue' ],
    },
    {
      template: '<div><p v-for="i in data">{{ i }}</p></div>',
      data: 4,
    },
  ],
}),
Сделайте компонент, параметрами которого будут шаблон и данные. Шаблон компилируется, результат компиляции применяется в render-функции:

Vue.component('block-component', {
  props: [ 'template', 'data' ],
  computed: {
    compiled() {
      return Vue.compile(this.template);
    },
  },
  render() {
    return this.compiled.render.call(this);
  },
});
Создавайте экземпляры этого компонента:

<block-component v-for="n in blocks" v-bind="n"></block-component>
https://jsfiddle.net/qnwa4kgv/
Я так понимаю вам нужна директива v-html, с помощью неё можно вставлять html напрямую.