The high level collection command s3.buckets.filter only work for ways that document under describe_tags Filters. In such case, you MUST tag your bucket (s3.BucketTagging) before you can use the very specific filtering method s3.buckets.filter(Filters=formatted_tag_filter) 
Currently, you can do this
s3 = boto3.resource('s3')
for bucket in s3.buckets.all(): 
  if bucket.name.startswith("myapp-")" 
     print bucket.name
And following is example code given to filter out KEYS 
# S3 list all keys with the prefix '/photos'
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
    if bucket.name.startswith("myapp-")" :
        for obj in bucket.objects.filter(Prefix='/photos'):
            print('{0}:{1}'.format(bucket.name, obj.key))
Try this out